ni5*_*ni6 2 c# keyword code-snippets
这是我想在C#中实现的Pascal示例:
With myBook do
Begin
Title := 'Some Book';
Author := 'Victor John Saliba';
ISBN := '0-12-345678-9';
Price := 25.5;
End;
Run Code Online (Sandbox Code Playgroud)
小智 8
只有在建造时.
var foo = new Foo
{
Title = "lol",
Author = "Som Gai",
ISBWhatever = "111"
}
Run Code Online (Sandbox Code Playgroud)
VB.NET有'with'关键字,但c#没有.
在这里你可以找到解释.
摘抄:
- 小的或不存在的可读性好处.我们认为可读性好处很小或根本不存在.我不会说with语句使代码可读性降低,但有些人可能会这样做.
- 语言复杂性增加.添加with语句会使语言更复杂.例如,VB必须添加新的语言语法来解决局部变量(Text)和"with"目标(.Text)上的属性之间的潜在歧义.解决此问题的其他方法也会引入语言复杂性.另一种方法是推送作用域并使属性隐藏局部变量,但是如果没有添加一些转义语法则无法引用本地.
- C++遗产.C++从未有过一个with语句,并且C++开发人员通常认为缺少这样的语句不是问题.此外,我们并没有感觉到其他变化 - 人们正在编写的代码类型的变化,平台的变化,语言的其他变化等等 - 使用语句更加必要.