我是否必须在c#中"双重声明"每个新实例?
Obj sb = new Obj();
Run Code Online (Sandbox Code Playgroud)
VB比较便宜
Dim sb as new Obj()
Run Code Online (Sandbox Code Playgroud)
和Python最便宜
sb=Obj()
Run Code Online (Sandbox Code Playgroud)
好吧,从C#3开始,您可以使用var局部变量:
var x = new Dictionary<string, string>();
Run Code Online (Sandbox Code Playgroud)
请注意,这与Python声明非常不同:变量x仍然是类型Dictionary<string, string>; 它只是编译器从赋值的右侧推断出类型.因此,您仍然可以获得IntelliSense支持以及静态类型的所有其他好处.(如果你想要动态类型,你可以使用dynamicC#4,但这是一个非常不同的功能.)
部分添加了此功能以支持匿名类型,尽管它在其他情况下也非常有用; 最值得注意的是,当你在调用构造函数.
需要记住的一些事项:
编译器必须能够从赋值中推断出具体类型; 你不能写
var x = null;
Run Code Online (Sandbox Code Playgroud)
例如.
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |