zoukankan      html  css  js  c++  java
  • c# in deep 之LINQ简介(1)

        前两天公司进了一批书,在借阅jon skeet的c# in deep收获颇大,本书特点是介绍了不同版本的c#所增加的新特性。今天先写一下书中对linq的描述。

        很多初学者在使用VS2010或2013写代码时都会看见软件会自动帮我们引用linq这个命名空间,而不知其作用。linq全称为language integrated query,即语言集成查询,是c#3的核心所在,可使对多数据源的查询变得简单。

        比如一段代码有一个Products类,其包含Name和Price两个属性。我们现在需要在原基础上增加一个suppliers类,其包含Name和SupplierID两个属性,这样需要在Products类中也增加SupplierID这一属性。假设需要筛选价格高于10的产品,结果先按供货商名进行排序,再按产品名排序,最后打印供货商名和产品名。若是不使用linq可能需要很多代码才能实现,现在我们用linq来实现这一功能。

    var filtered =from p in Products join s in Suppliers

                      on p.SupplierID equals s.SupplierID where p.Price>10 orderby s.Name,p.Name

                      select new{SupplierName=s.Name, ProductName=p.Name}

                      foreach(var v in filtered)

                      {Console.WriteLine("Supplier={0}---Product={1}",v.SupplierName,v.ProductName);}

        通过这段代码,我们会发现,这和SQL语言太像了,这大大降低了我们使用linq的难度。下章介绍一下使用linq读取xml。

    浮躁的人容易问:我到底该学什么;----别问,学就对了; 浮躁的人容易问:JS有钱途吗;----建议你去抢银行; 浮躁的人容易说:我要中文版!我英文不行!----不行?学呀! 浮躁的人分两种:只观望而不学的人;只学而不坚持的人; 浮躁的人永远不是一个高手。
  • 相关阅读:
    团队作业第五次—项目冲刺-Day6
    团队作业第五次—项目冲刺-Day4
    团队作业第五次—项目冲刺-Day3
    团队作业第五次—项目冲刺-Day2
    研途——冲刺集合
    团队作业第六次—事后诸葛亮
    研途——测试总结
    研途——冲刺总结
    研途——冲刺日志(第七天)
    研途——冲刺日志(第六天)
  • 原文地址:https://www.cnblogs.com/xuekai-to-sharp/p/3336301.html
Copyright © 2011-2022 走看看