C#:隐式类型本地变量

文章访问量:

var的用法

大致记录下var在C#中的用法。

什么时候用var

变量由编译器分配类型

简单来说,当你不确定将来某个变量可能是什么类型的时候就用var。比如接受某个物品的id时,这个id可能是从1一直到99999的int型,也可能是超长的字符串。但是你目前还没想好id到底该用哪一种方式,这时你就可以用var去声明变量,等到该变量初始化的时候,编译器就会自动把它转为合适的类型。

需要注意的是,var声明的隐式变量在初始化后就不能变更为其他类型的变量了。比如下面这个错误例子:

var tmp=10;
tmp="Hello";
Console.WriteLine(tmp);
/*报错:
*(2,11): error CS0029: Cannot implicitly convert type 'int' to 'string'
*/

而且必须在定义var的同时对其进行初始化,因为编译器要在定义变量的时候就为其分配对应的类型。下面这个代码也是错误示范

var tmp;
tmp="Hello";

当然经常用var也不太好,要是整段代码看下来都是var,那找bug的时候还得去想下这个变量到底是啥类型,还是挺折磨的。

Subscribe
提醒
0 评论
Inline Feedbacks
View all comments
0
在此留下你的评论x