在C#中声明变量

时间:2010-09-07 10:31:04

标签: c# asp.net

  

可能重复:
  Use of var keyword in C#

嗨,我在C#中很新,

我想知道声明变量的最佳做法。

我知道在声明变量(隐式)时可以使用VAR(显式声明)或DataType。

感谢您的意见,谢谢

3 个答案:

答案 0 :(得分:2)

我总是尝试给我的变量声明提供有用的名称来描述它们的用途,驼峰式,在类的顶部声明。

大多数人会说使用var是最好的。它降低了未来维护的复杂性,例如,如果更改特定方法的返回类型,则不必更改从该方法分配的每个变量的类型,因为您在使用var时已经使用了var声明变量。

此类问题也已在stackoverflow上多次讨论过。例如,请参阅:Use of var keyword in C#

答案 1 :(得分:2)

反过来说。这是一个明确的类型:

int x = 42;

这是隐式类型:

var x = 42;

您必须在必要时(即使用匿名类型时)或代码更易读时使用隐式声明。

示例:

// anonymous type
var y = new { item: "asdf" };

// avoid repeating long type names
var z = new System.Text.StringBuilder();

答案 2 :(得分:1)

就个人而言,我很高兴使用var myVariable = new ReferenceType();,因为我知道我将获得该类型的变量,并且必须再次指定类型是重复。有时你需要在声明时具体说明:IComplexThing var = new ComplexThing();

对于数组和集合的交互,那么foreach(项目中的var项目)是正常的,因为我再次知道我将获得什么类型。

我通常尝试使用MyType result = from x in queryable where x=>x.Id == id select x;,因为在查询之前已知类型,但对于var result = from x in queryable where x=>x.Id == id select new { Id, Name, Description};之类的查询,类型是在查询时生成的,并且不知道。我试图远离那种类型的查询。