//Linq查询 List<A1> a1 = new List<A1>(); a1.Add(new A1 { Id = 10, Name = "aaa", Age = 101, Gender = true }); a1.Add(new A1 { Id = 15, Name = "bbb", Age = 21, Gender = true }); a1.Add(new A1 { Id = 12, Name = "ccc", Age = 21, Gender = false }); a1.Add(new A1 { Id = 13, Name = "ddd", Age = 200, Gender = false }); List<DogToy> a2 = new List<DogToy>(); a2.Add(new DogToy { DogId = 11, DogName = "小白" }); a2.Add(new DogToy { DogId = 10, DogName = "小欢" }); a2.Add(new DogToy { DogId = 12, DogName = "小美" }); a2.Add(new DogToy { DogId = 15, DogName = "小王" }); //查询所有语句 var s1 = (from c in a1 select c).ToList(); //查询Gender为false的成员 var s2 = from c in a1 where c.Gender == false select c; //orderby排序 var s3 = from c in a1 orderby c.Id select c; //Join连接两个集合相匹配元素,注意:连接条件使用equals关键字!!! var s4 = from c in a1 join t in a2 on c.Id equals t.DogId select new { A1Name = c.Name, DogName = t.DogName }; //Join连接两个集合所有元素 var s5 = from c in a1 join t in a2 on c.Id equals t.DogId select new { A1Name = c, DogName = t }; //分组group...by var s6 = from c in a1 group c by c.Gender; foreach (var group in s6) { Console.WriteLine(group.Key.ToString()); foreach (var item in group) { Console.WriteLine(item.ToString()); } } public class A1 { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } public bool Gender { get; set; } //重写ToString方法 public override string ToString() { return Id + "," + Name + "," + Age + "," + Gender; } } public class DogToy { public int DogId { get; set; } public string DogName { get; set; } //重写ToString方法 public override string ToString() { return DogId + "," + DogName; } }
原文:http://www.cnblogs.com/genesis/p/4908995.html