{
public class student
{
public int id{get;set;}
public string name{get;set;}
}
static void Main(string[] args)
{
List<student> aList = new List<student>(){
new student{id = 1,name = "s1"},
new student{id = 2,name = "s2"},
new student{id = 3,name = "s3"}
};
List<student> bList = new List<student>(){
new student{id = 2,name = "s1"},
new student{id = 2,name = "s2"},
new student{id = 3}
};
var cList = (from c in bList select c.id).Distinct();
foreach(var s in cList)
{
Console.WriteLine(s);
}
System.Console.ReadKey();
}
}
输出:2 3
说明Distinct();, select c.id, 从集合中取出c.id形成一个集合, 并用Distinct对这个集合去除重复项.
例子2:
var cList = (from c in bList where c.id == 2 select c);
foreach (var s in cList)
{
Console.WriteLine(s.id + " " + s.name);
}
输出:
2 s1
2 s2
说明: 在bList中搜索bList.id==2的项, 取出形成集合赋给cList.
例子3:
var cList = aList.Where(i => bList.Any(j => j.id == i.id));
输出:
2 s2
3 s3
说明: 在aList中搜索aList.id==bList.id的项, 取出形成集合赋给cList.