之前我问了一个问题,为什么我看到这么多的例子都使用了这个var关键字并得到了答案,虽然它只是匿名类型所必需的,但它仍然被用来使编写代码"更快"/更容易和"只是因为".
在这个链接("C#3.0 - Var不是Objec")之后,我看到它var被编译成IL中的正确类型(你会在中间的文章中看到它).
我的问题是IL代码使用var关键字take 会有多少(如果有的话),如果在任何地方使用它,它是否会接近于对代码性能有可衡量的水平?
该变种关键字摒弃了需要一个明确的类型声明,我有兴趣地阅读SO讨论时,它可能是适当的.
我还读过(但未使用过)Boo,它似乎通过使声明局部变量可选而更进一步.使用Boo,可以隐含类型和声明.
这让我想知道,为什么C#语言设计师根本不想包含一个var关键字?
更新:是的,var支持匿名类型,但匿名类型本身不需要var关键字...
var anon = new { Name = "Terry", Age = 34 };
Run Code Online (Sandbox Code Playgroud)
与
anon = new { Name = "Terry", Age = 34 };
Run Code Online (Sandbox Code Playgroud) 可能的重复:
var关键字的重点是什么?
在C#中使用var关键字
我理解IEnumerable<...>数据类型如何使代码的可读性降低或嵌套泛型看起来有点令人生畏.但除了代码可读性之外,使用var而不是显式类型是否有优势?看起来通过使用显式类型,您最好传达变量的功能,因为您知道它是什么.
如果它是工作场所编码标准,我会为了团队合作而使用它.然而,在我自己的项目中,我更愿意避免使用var.