C# var与具体类型用法
我在stackoverflow中查看了5篇或更多关于var使用的帖子,但我仍然在寻找关于var使用的答案。我习惯于使用具体类型而不是var,但我的Resharper抱怨说要改为var。即使知道具体类型,var也是一种类型选择吗 从Visual C#3.0开始,在方法范围内声明的变量可以具有隐式类型变量。隐式类型的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定了类型。i的以下两个声明在功能上是等效的:C# var与具体类型用法,c#,var,C#,Var,我在stackoverflow中查看了5篇或更多关于var使用的帖子,但我仍然在寻找关于var使用的答案。我习惯于使用具体类型而不是var,但我的Resharper抱怨说要改为var。即使知道具体类型,var也是一种类型选择吗 从Visual C#3.0开始,在方法范围内声明的变量可以具有隐式类型变量。隐式类型的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定了类型。i的以下两个声明在功能上是等效的: var i = 10; // implicitly typed int i = 1
var i = 10; // implicitly typed
int i = 10; //explicitly typed
我认为这里对你来说最重要的是
隐式类型的局部变量是强类型的,就像
您自己声明了类型,但编译器确定了类型
除此之外,从
可以为局部变量指定一个推断的“类型”var,而不是
显式类型。var关键字指示编译器推断
变量右侧表达式中变量的类型
初始化语句。推断类型可以是内置类型,也可以是
匿名类型、用户定义类型或.NET中定义的类型
框架类库。
重要的是要理解var关键字并不表示“variant”,也不表示变量类型松散,或者
晚班。这只意味着编译器确定并分配
最合适的类型。
以下是msdn的摘录 当在键盘上键入变量的特定类型很乏味,或者很明显,或者不增加代码的可读性时,var关键字也很有用。var以这种方式很有用的一个例子是嵌套的泛型类型,例如用于组操作的类型。在以下查询中,查询变量的类型为IEnumerable>。只要您和其他必须维护代码的人理解这一点,为方便和简洁起见使用隐式类型就没有问题 然而,var的使用至少有可能让其他开发人员更难理解您的代码。因此,C#文档通常仅在需要时使用var 参考:
祝你好运 当类型明显可以提高可读性时,我更喜欢使用
var
:
var myVariable = new List<string>();
var myVariable2 = (int) someOtherVariable;
您可以将ReSharper配置为仅对此提出建议。但是,顺便说一句,ReSharper总是正确的。在节省硬盘空间和按键方面,var更好。但我不知道var为编译器节省了多少时间。
int myVariable3 = GetSomeValue();