LINQ查询句法基础分析

在向大家详细介绍LINQ查询句法之前,首先让大家了解下集合初始化器,然后全面介绍LINQ查询句法。

成都创新互联成立十多年来,这条路我们正越走越好,积累了技术与客户资源,形成了良好的口碑。为客户提供成都网站设计、成都做网站、网站策划、网页设计、域名注册、网络营销、VI设计、网站改版、漏洞修补等服务。网站是否美观、功能强大、用户体验好、性价比高、打开快等等,这些对于网站建设都非常重要,成都创新互联通过对建站技术性的掌握、对创意设计的研究为客户提供一站式互联网解决方案,携手广大客户,共同发展进步。

集合初始化器

 
 
 
  1. public class Person  
  2. {  
  3. public string username { get; set; }  
  4. public int age { get; set; }  
  5. public override stringToString()  
  6. {  
  7. return string.Format("username:{0} age:{1}", this.username, this.age);  
  8. }  
  9. }  
  10. var persons = new List {  
  11. new Person {username = "a", age=1},  
  12. new Person {username = "b", age=2}};  
  13. foreach(var p in persons)  
  14. Console.WriteLine(p.ToString()); 

编译器会自动为你做集合插入操作。如果你为Hashtable初始化的话就相当于使用了两个对象初始化器。

LINQ查询句法

 
 
 
  1. var persons = new List {  
  2. new Person {username = "a", age=19},  
  3. new Person {username = "b", age=20},  
  4. new Person {username = "a", age=21},  
  5. };  
  6. var selectperson = from p in persons where p.age >= 20 select p.username.ToUpper();  
  7. foreach(var p in selectperson)  
  8. Console.WriteLine(p); 

LINQ查询句法是使用标准的LINQ查询运算符来表达查询时一个方便的声明式简化写法。该句法能在代码里表达查询时增进可读性和简洁性,读起来容易,也容易让人写对。Visual Studio 对查询句法提供了完整的智能感应和编译时检查支持。编译器在底层把查询句法的表达式翻译成明确的方法调用代码,代码通过新的扩展方法和Lambda表达式语言特性来实现。上面的查询句法等价于下面的代码:

 
 
 
  1. var selectperson = persons.Where(p=>p.age>=20).Select(p=>p.username.ToUpper()); 

LINQ查询句法可以实现90%以上T-SQL的功能(由于T-SQL是基于二维表的,所以LINQ的查询语法会比T-SQL更简单和灵活),但是由于智能感应的原因,select不能放在一开始就输入。

【编辑推荐】

  1. Linq匿名类型简单概述
  2. Linq随机读取数据浅析
  3. Linq Lambda表达式全面分析
  4. Linq扩展方法简单分析
  5. 初探Linq局部变量类型

文章名称:LINQ查询句法基础分析
文章路径:http://www.stwzsj.com/qtweb/news16/13066.html

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

广告

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