我刚开始使用Resharper。它的一个特点是,它建议基于我认为良好的编码实践来改变代码。
它建议的一个更改是在赋值期间将变量类型更改为var。我一直在改变,现在代码到处都是var。不知何故,我感觉“var”关键字使代码有点难以理解。
在可能的情况下使用“var”是否是一个很好的编码实践,或者更好地坚持实际类型。 (匿名类型除外,其中需要使用“var”)
感谢。
答案 0 :(得分:4)
如果你有这样的代码,我建议使用var
:
var surelyAnXText = new XText(...);
你总是可以告诉我们要声明变量的所需类型。但是,当你有这样的事情时,不是这样:
var whatIsThis = foo.Some_Method_Where_You_Cant_Tell_The_Return_Type_From_The_Name();
答案 1 :(得分:3)
C# programming guide建议在增强可读性时使用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.