无偿使用'var'关键字被认为有害吗?

时间:2010-04-29 00:42:47

标签: c# .net coding-style

  

可能重复:
  Use of var keyword in C#

我几乎一直都在使用它,除非我没有立即分配变量,在这种情况下它不是一个选项。好还是坏?

3 个答案:

答案 0 :(得分:3)

使用隐式类型变量(var keyword)是:

  • 很好:当您需要匿名类型时。
  • :当类型明显时(var sb = new stringbuilder();
  • 错误:当类型不那么明显时(var doc = repo.getdocs("base");

如果你发现自己经常使用,那可能就好了。一直使用它意味着有时人们将不得不调查以查看您正在使用的类型。应该清楚地看看打印输出使用的是什么类型。

答案 1 :(得分:0)

你必须在易于写作和易于阅读之间找到自己的平衡点。当然,您可以将鼠标悬停在下一次使用变量上以查看推断类型,但如果您没有在IDE中读取代码,则可能存在问题。

我最近遇到的一个问题是我尝试使用Foo(改进的Bar)的实例手动替换项目中Foo的特定实例。我会为Foo执行全部查找,结果发现我错过了一些,因为我已完成var quux = GetSomething(),其中GetSomething返回Foo的实例。但是,这是一个边缘案例,在使用var方面,我不会过分强调这一点。

答案 2 :(得分:0)

这显然是推荐的方法(如果您使用像Resharper这样的工具,默认情况下会建议尽可能用'var'替换特定类型)。我个人更喜欢使用特定类型来提高可读性。但是,如果代码质量良好且方法长度正常,即使使用'var',它仍然可读。这里有关于这个主题的冗长讨论:Use of var keyword in C#

否则,使用var没有性能影响(它不像使用'object'和类型转换)。