Linq初级学习 [标准查询操作符的使用和调用]

来源:互联网 发布:北京移动网络优化 出差 编辑:程序博客网 时间:2024/05/22 06:29

01 投影操作符(Select,SelectMany)

02 限制操作符(Where)

03 排序操作符(OrderBy,OrderByDescending,ThenBy,ThenByDescending,Reverse)

04 联接操作符(join,GroupJoin)

05 分组操作符(GroupBy)

06 串联操作符(Concat)

07 聚合操作符(Aggregate,Average,Count,LongCount,Max,Min,Sum)

08 集合操作符(Distinct,Union,Intersect,Except)

09 生成操作符(Empty,Range,Repeat)

10 转换操作符(Cast,OfType,ToArray,ToDictionary,ToList,ToLookup)

11 元素操作符(DefaultIfEmpty,ElementAt,ElementAtOrDefault,First,Last,FirstOrDefault,LastOrDefault,Single,SingleOrDefault)

12 相等操作符(SequenceEqual)

13 量词操作符(All,Any)

14 分割操作符(Skip,SkipWhile,Take,TakeWhile)

01.投影操作符(Select,SelectMany)

(1)Select操作符对单个序列或者集合中的值进行投影,可以控制从序列中返回指定的列.

方法语法:

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Data.Linq; 6  7 namespace ConsoleApplication1 8 { 9     class Program 10     {11         static void Main(string[] args)12         {13             //创建测试数据    14             User[] users = new User[]{15                 new User(){ Id = 1, FirstName = "Huang", LastName = "Cong", Age = 12},16                 new User(){ Id = 2, FirstName = "Yang", LastName = "Qiu", Age = 22},     17                 new User(){ Id = 3, FirstName = "Cai", LastName = "Zheng", Age = 18},   18                 new User(){ Id = 4, FirstName = "Huang", LastName = "Chao", Age = 32},   19                 new User(){ Id = 5, FirstName = "Teng", LastName = "Jie", Age = 12},      20                 new User(){ Id = 6, FirstName = "Liang", LastName = "Zhi", Age = 8}      21             };     22             //使用Select操作符进行投影,对序列只返回First一个列     23             var query = users.Select(u => new { u.FirstName });   24             //输出           25             foreach (var q in query) 26                 Console.WriteLine(q.FirstName); 27         }   28     }29     class User30     {31         public int Id { get; set; } 32         public string FirstName { get; set; }     33         public string LastName { get; set; }   34         public int Age { get; set; }    35         public override string ToString()     36         {         37             return String.Format("Id:{0}\tFirstName:{1}\tLastName:{2}\tAge:{3}", this.Id, this.FirstName, this.LastName, this.Age);  38         }39     }40 }

查询语法:

 

 

 
select sname,ssex,class from student
Linq:
    from s in Students
    select new {
        s.SNAME,
        s.SSEX,
        s.CLASS
    }
Lambda:
    Students.Select( s => new {
        SNAME = s.SNAME,SSEX = s.SSEX,CLASS = s.CLASS
    }) 

 

原创粉丝点击