前几天和同事聊天,听说他们的编码标准明确禁止他们在C#中使用var
关键字。他们不知道为什么会这样,而且我一直发现隐式声明在编码时非常有用。我在找出变量的类型方面从来没有遇到过任何问题(您只需将鼠标悬停在 VS 中的变量上,您就会以这种方式获得类型)。
有谁知道为什么在 C# 中使用 var 关键字是个坏主意?
最佳答案
2008 年 11 月出版的 .Net Framework Design Guidelines(很棒的书)的作者建议在类型明显且明确时考虑使用 var
。
另一方面,如果使用 var
会导致阅读代码时出现歧义,正如 Anton Gogolev 指出的那样,那么最好不要使用它。
在书中(附件A),他们实际上给出了这个例子:
var names = new List<string>(); // good usage of var
string source = GetSource();
var tokens = source.Split(' '); // ok; most developers know String.Split
var id = GetId(); // Probably not good; it's not clear what the type of id is
有可能,为了确保可读性不受低级开发人员的突发奇想影响,您的组织认为您不配使用 var
并禁止使用它。
遗憾的是,这就像拥有一个可以随意使用的好工具,但将它锁在一个上锁的玻璃柜中。
在大多数情况下,对简单类型使用 var
实际上有助于提高可读性,我们不能忘记使用 var
也没有性能损失。
关于c# - 为什么 var 是坏事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/545616/