'var'的目的是什么?

可能重复:
var关键字有什么意义?

不是问它是如何工作的。 我问它是否影响性能。 我已经知道这些答案。

我想知道什么启发了MS C#团队首先将其添加到语言中。 你不会为一种语言添加轻微的东西。 它一定有一个值得注意的问题解决。 这是什么问题?

我见过的“它解决的问题”最接近的例子是使用匿名类型时的情况,例如:

var linqResult = from element in SomeCollection s
                 elect new { element.A, element.B } 

这种用法的讽刺之处在于,风格和编码标准指南(如Microsoft提供的)建议编码人员避免在结果类型不明显时使用“var”。 换句话说,'var'的(可能)预期目的与编码标准准则相冲突。

如果我正在编写代码标准,并且试图防止过度使用'var',那么我会倾向于说'仅在响应匿名类型时使用'var'“。 但是这使问题变成了一个完整的问题:为语言添加了'var' 的目的是什么?


匿名类型是最大的,但也减少了方法中的重复:

Dictionary<MyCustomType, List<MyOtherCustomType>> dict = new Dictionary<MyCustomType, List<MyOtherCustomType>>();

确实 ! 匿名类型。 如果没有var并且仍然具有智能感知,那么在世界上如何保持对创建的匿名类型的引用?

换句话说:当没有var ,在编译时支持的时候就不会有任何匿名类型了。 匿名类型会有太多运行时错误。

添加的糖(过度使用时的复杂性)是,即使非匿名变量也可以使用var。 它确实有效,但这是一个坏习惯。


据我所知,var关键字几乎可以让LINQ更容易使用匿名类型

链接地址: http://www.djcxy.com/p/53825.html

上一篇: What is the purpose of 'var'?

下一篇: What is the difference between my codes?