C# 为什么使用var作为变量类型

C# 为什么使用var作为变量类型,c#,keyword,C#,Keyword,可能重复: 我真的不明白为什么你会在C中使用var关键字# 此代码: var s=“我的字符串” 同: string s=“我的字符串” 为什么要让编译器确定要使用的最佳类型。当然你应该知道该用哪种类型。毕竟你在写代码 写第二段代码不是更清晰吗?参见 非常非常主观 就我个人而言,当我认为它的类型是什么时,我使用“var”,并且我想从源代码中删除“noise”。参见 非常非常主观 就我个人而言,当我认为类型很明显时,我会使用“var”,我想从源代码中删除“noise”。之所以使用它,是因为var

可能重复:

我真的不明白为什么你会在C中使用
var
关键字#

此代码:

var s=“我的字符串”

同:

string s=“我的字符串”

为什么要让编译器确定要使用的最佳类型。当然你应该知道该用哪种类型。毕竟你在写代码

写第二段代码不是更清晰吗?

参见

非常非常主观

就我个人而言,当我认为它的类型是什么时,我使用“var”,并且我想从源代码中删除“noise”。

参见

非常非常主观


就我个人而言,当我认为类型很明显时,我会使用“var”,我想从源代码中删除“noise”。

之所以使用它,是因为var比string短,并且如果您有一个表达式(特别是泛型表达式),其中类型很长,不需要键入。事实上,使用var几乎没有坏处,因为VS会在鼠标上弹出变量名上方的类型。

之所以使用它,是因为var比string短,并且如果您有一个表达式(特别是泛型表达式),其中的类型很长,不需要键入。事实上,使用var几乎没有任何负面影响,因为VS会在鼠标上弹出变量名上方的类型。

在那里使用它对我来说也没有多大意义。对于一些人,我可以看到更多的一点只是为了节省键入:

var cache = new Dictionary<int, Page>();
var cache=newdictionary();

但即使这样,我也不会这么做,因为intellisense节省了大部分打字时间。不过,对于Linq,我几乎总是使用它-您可以确定类型,但是如果您更改语句,这可能会改变,因此有点麻烦。

在那里使用它对我来说也没有多大意义。对于一些人,我可以看到更多的一点只是为了节省键入:

var cache = new Dictionary<int, Page>();
StringBuilder output = new StringBuilder();
var cache=newdictionary();
但即使这样,我也不会这么做,因为intellisense节省了大部分打字时间。不过,对于Linq,我几乎总是使用它——您可以确定类型,但是如果您更改语句,这可能会改变,因此有点麻烦

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 output = new StringBuilder();
或匿名类型,ala LINQ:

List<MyClass> items = GetItems();
var itemsILike = items.Select(i => new { Cheeky = i.Monkey, Bum = i.Looker });

但是,对于本例,如果您正试图使用另一个解决方案中的代码,而您知道该解决方案将要进行重构,但您仍然需要编写代码,那么它仍然很有用。

要保存键入并删除不必要的代码,但是,只有当您声明的类型明显时才使用它来保存键入并删除不必要的代码,但只有当您声明的类型明显时才使用它。

oops在前面的搜索中遗漏了问题41479。不知道怎么办:-索普斯在早些时候搜索时错过了问题41479。不知道怎么办