可能重复:
var 关键字的意义何在?
我不是在问它是如何工作的。我不是在问它是否会影响性能。我已经知道这些答案了。
我想知道最初是什么激发了 MS C# 团队将其添加到语言中。你不会在语言中添加琐碎的东西。它解决了一定有一个值得注意的问题。那是什么问题?
我见过的最接近“它解决的问题”的例子是使用匿名类型时,如下所示:
var linqResult = from element in SomeCollection s
elect new { element.A, element.B }
这种用法具有讽刺意味的是,样式和编码标准指南(例如 Microsoft 提供的)建议编码人员在结果类型不明显时避免使用 'var'。换句话说,“var”的(大概)预期目的与编码标准指南相冲突。
如果我正在编写编码标准,并试图防止过度使用 'var',我会有点倾向于说“仅在响应匿名类型时使用 'var'”。但这带来了一个完整的问题:在语言中添加“var”的目的是什么?