LINQ学习篇(1) -- var类型

来源:互联网 发布:java 读取文件绝对路径 编辑:程序博客网 时间:2024/04/27 23:15

C# 3.0中引入了很多新的类型,比如说var,匿名类型,隐形数组等等.体验了一把,拿出来在这里跟大家分享.

 

首先VB中不支持var类型,汗......(好久没写C#了,有点手生)

回到C#中,所谓var是一个不确定类型,就是说初始化的时候才定义变量的类型.

所以我们可以这样写

var a = "abc";

var b =  1;

var c = new object();

等价于

string a = "123";
int b = 1;
object c = new object();

但是使用VAR时需要注意以下几点

(1) 变量声明时必须初始化.

(2) 声明中不能包含变量本身.

(3) 不能初始化NULL值.

 

联想到JS的var类型,是不是这里变量也是可变类型的呢?

做了如下尝试:

 var i = "abc";
 i = 1;

编译的时候提示如下错误"Error 1 Cannot implicitly convert type 'int' to 'string' ",由此可见由var声明的变量在初始化时指定了类型,后面该变量就只能是定义的类型而不能改变了.

总结,var变量应用的范围不会很广,因为它有着严格的声明条件.当然可能比较适合LINQ返回类型不固定的情况.只能说在特定的条件下使用VAR变量不失为一种好的解决方案.

原创粉丝点击