可能重复:
Use of var keyword in C#
我真的不明白为什么你会在C#中使用var
关键字
此代码:
var s = "my string";
与:
相同 string s = "my string";
为什么要让编译器确定要使用的最佳类型。当然你应该知道使用什么类型。毕竟你正在编写代码?
编写第二段代码是不是更清晰/更清晰?
答案 0 :(得分:1)
答案 1 :(得分:1)
在那里使用它对我来说没有多大意义。对于某些人,我可以看到更多关于保存输入的观点:
var cache = new Dictionary<int, Page>();
但即便如此,我还是不想这样做,因为智能感知节省了大部分打字。但是对于Linq来说,我几乎总是使用它 - 你可以确定类型,但是如果你改变语句这可能会改变,所以这有点麻烦。
答案 2 :(得分:1)
StringBuilder output = new StringBuilder();
变为
var output = new StringBuilder();
或匿名类型,ala LINQ:
List<MyClass> items = GetItems();
var itemsILike = items.Select(i => new { Cheeky = i.Monkey, Bum = i.Looker });
我以前经常使用它,但现在我试着避免使用它:
var items = GetItems();
但是,对于这个例子,如果你试图对付你知道要重构的另一个解决方案的代码,它仍然有用,但你仍然需要编写代码。
答案 3 :(得分:0)
您使用它是因为var比字符串短,并且如果您有一个表达式(特别是通用表达式),其中类型很长且无需键入。实际情况是,使用var几乎没有任何缺点,因为VS会在鼠标悬停变量名时弹出类型。
答案 4 :(得分:0)
要保存输入并删除不必要的代码,但只有在显而易见的声明类型时才使用