初探Linq局部变量类型

Linq有很多值得学习的地方,这里我们主要介绍Linq局部变量,包括介绍对象初始化和集合初始化等方面。

企业建站必须是能够以充分展现企业形象为主要目的,是企业文化与产品对外扩展宣传的重要窗口,一个合格的网站不仅仅能为公司带来巨大的互联网上的收集和信息发布平台,创新互联面向各种领域:成都边坡防护网成都网站设计成都全网营销推广解决方案、网站设计等建站排名服务。


Linq局部变量类型

使用这个特性,声明一个Linq局部变量,它的具体类型是通过初始化表达式来推断。这点是通过var 关键词完成的(这个使用脚本语言的人应该很熟悉,但它们实际上是有很大区别的)。我们可以写出如下的代码:

 
 
 
  1. var num = 50;  
  2. var str = "simple string";  
  3. var obj = new myType();  
  4. var numbers = new int[] {1,2,3};  
  5. var dic = new Dictionary,myType>(); 

编译器会生成IL中间代码,就如同我们编译了下面的代码:

 
 
 
  1. int num = 50;  
  2. string str = "simple string";  
  3. myType obj = new myType();  
  4. int[] numbers = new int[] {1,2,3};  
  5. Dictionary,myType> dic = new Dictionary,myType>(); 

注意,这里并不存在无类型的变量,也没有推迟类型的绑定。编译器是从右边的赋值语句来自动推断和声明变量的类型的,var 关键词是一个强类型的变量引用。

对象初始化和集合初始化

我们继续使用上面的Point 类。假设我们想要这个类的一个实例,我们会建立对象并设置它的属性,代码会是这样子的:

 
 
 
  1. Point p = new Point();  
  2. p.X = 0;  
  3. p.Y = 0; 

现在,使用对象初始化,就可以像这样子来重写:

 
 
 
  1. Point p = new Point() { X = 0, Y = 0 }; 

这个特性也可以使用在集合上,看看下面这段示例:

 
 
 
  1. List points = new List {  
  2. new Point { X = 2,  Y = 5 },  
  3. new Point { X = 1, Y = -10 },  
  4. new Point { X = 3, Y = 0 }  
  5. }; 

注意,编译器会产生和上面相等价的长一些的代码,它依次调用Add() 方法来在集合里添加元素。以上介绍Linq局部变量。

分享文章:初探Linq局部变量类型
网站地址:http://www.shufengxianlan.com/qtweb/news45/73995.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联