5

我刚开始使用 Resharper。它的特点之一是它建议基于良好的编码实践对代码进行更改。

它建议的更改之一是在分配期间将变量类型更改为 var。我一直在改变,现在代码到处都有 var 。不知何故,我觉得“var”关键字使代码有点难以理解。

尽可能使用“var”是一种好的编码习惯,还是坚持使用实际类型更好。(除了需要使用“var”的匿名类型)

谢谢。

4

2 回答 2

4

我建议var在你有这样的代码时使用:

var surelyAnXText = new XText(...);

你总是可以告诉我们声明变量的需要类型。但不是当你有这样的事情:

var whatIsThis = foo.Some_Method_Where_You_Cant_Tell_The_Return_Type_From_The_Name();
于 2010-09-30T21:44:15.087 回答
3

C# 编程指南建议在增强可读性时使用 var,例如当类型很明显、太复杂或根本不重要时。

当变量的特定类型在键盘上输入起来很乏味,或者很明显,或者不增加代码的可读性时,var 关键字也很有用。var 以这种方式有帮助的一个示例是嵌套泛型类型,例如与组操作一起使用的泛型类型。在以下查询中,查询变量的类型是 IEnumerable<IGrouping<string, Student>>。只要您和必须维护您的代码的其他人理解这一点,为了方便和简洁使用隐式类型就没有问题。

没有一般规则。在某些情况下,显式类型可能会增强可读性。

例子:

var x = new Thingy(); //type is obvious

var x = dict.Where(x => x.Value > 3); // type is complex and not important

Foo(GetValue(FromOverThere())); // type is implicit anyway

// equivalent to:
var fromOverThere = FromOverThere();
var value = GetValue(fromOverThere)
Foo(value);

FooDocument doc = repository.Get(id); // glad to see the type here.
于 2010-09-30T21:42:45.153 回答