技术开发 频道

C#3.0新特性示例学习-Linq to Objects



【IT168技术文档】

  Linq(Language Integrated Query )查询语法跟SQL查询语法很相识,除了先后顺序.
//Demo namespace TestLINQ { class Program { static void Main(string[] args) { ///创建数据源 int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 }; ///创建查询 /// 查询会返回 IEnumerable<int> 类型,我们可以直接去获取 /// IEnumerable<int> numQuery = /// from num in numbers /// where (num % 2) == 0 /// select num; /// C#3.0为我们提供了隐式声明,这里可以使用 /// 下面这个查询的语义表示: /// from num :查询num 即查询出来的值赋给引用num,num无需事先声明 /// in numbers:在numbers这个数据源中查询(数据源可以是数组,集合,数据集,XML等),这里是数组; /// where (num % 2) == 0:查询条件,现查询可以被2整除的数,即偶数 /// select num:查询值 ///如果把这句查询变成我们熟悉的SQL,那么是:select num from numbers where num%2==0 ///这个是更容易理解些 ,如果用过HQL查询就更好了 var numQuery = from num in numbers where (num % 2) == 0 select num; /// 执行查询 /// 遍历输出 foreach (int num in numQuery) { Console.WriteLine("{0,1} ", num); } } } }
  具体,此查询执行步骤可以参见以下这张图片,
  linq
  总结:
  1.linq可以在数据源中进行查询,数据源可以是数组,集合,数据集,XML等。
  2.查询语法类似SQL,但是顺序不同。
  3.在遍历查询结果时,才真正执行查询。
  4.查询会返回IEnumerable<T>类型的引用。
  5.程序主要分为三步:获得数据源,创建查询,执行查询。
0
相关文章