你如何使用var关键字?

时间:2009-04-25 00:02:41

标签: c# c#-3.0

  

复制

     

Use of var keyword in C#
  C# - Do you use "var"?
  Should I always favour implictly typed local variables in C# 3.0?

您是否愿意像这样编写代码:

var myVar = new MyClass();

MyClass myVar = new MyClass();

我不反对在上面的示例中使用var 关键字;但是,在下面的代码中,我不喜欢使用var

var files = Files.GetFiles();

在这个例子中,变量files的类型变量并不明显。

您最喜欢使用var 关键字

4 个答案:

答案 0 :(得分:4)

我倾向于在我阅读源代码的地方使用'var',可以推断出变量的类型而无需导航到源代码中的其他位置。

例如,每当我新建一个对象时:

var c = new Customer();

或者在调用返回类型明确的方法时:

var c = Customers.GetCustomerByID(5);

此外,在匿名类型的情况下,'var'必须

var t = new { Key = "One", Value = 1 };

我当然也将它用于LINQ:

var q = from c in Customers
        where c.CustomerID == 5
        select c;

在上面的情况下,'q'的类型为IQueryable(假设Customers是Customer对象的枚举)。

同样'foreach'陈述 - 请使用'var':

foreach (var i in intArray) { /* use i */ }

其他例子比比皆是我很确定 - 但这些都是我最常见的用例。

答案 1 :(得分:1)

如果这是一种可行的方式(排除了匿名类型的情况),我会尝试使用任何会使代码在将来更容易理解的内容。有时这意味着如果使用范围很小或者分配给的类型是笨重的(例如,某些嵌套通用)重复并添加杂乱,则使用var。我也倾向于使用大多数人期望看到的var(例如,作为linq查询的声明)。

答案 2 :(得分:0)

我认为最好只在创建新对象(使用var)和使用LINQ(当然)时使用new。这使得代码更容易理解,恕我直言。

答案 3 :(得分:0)

我尽可能地使用它。我认为它使代码更加干净和可读。 (我是谁在开玩笑?我只是做重塑者告诉我做的事情:)

this SO thread上的更多内容。