Skip to main content

集运算

集运算包含Distinct,Except,Intersect,Union运算,得到的结果与Linq的一致:

//去重结果
var distinctResult = context.Beans.Distinct().ToList();

Console.WriteLine("RunResult:");
foreach (var item in distinctResult) Console.WriteLine($"{item}");

得到的结果是20个对象的集合。

//两个集合
var list = context.Beans.Where(p => p.Bool).ToArray();
var exceptResult = context.Beans.Except(list).ToList();


Console.WriteLine("RunResult:");
foreach (var item in exceptResult) Console.WriteLine($"{item}");

得到的结果是10个Bool为False的对象。

//两个集合
var list = context.Beans.Where(p => p.Bool).ToArray();
var intersectResult = context.Beans.Intersect(list).ToList();

Console.WriteLine("RunResult:");
foreach (var item in intersectResult) Console.WriteLine($"{item}");

得到的结果是10个Bool为True的对象。

//两个集合
var list = context.Beans.Where(p => p.Bool).ToList();
var unionResult = context.Beans.Where(p => p.Bool == false).Union(list).ToList();

Console.WriteLine("RunResult:");
foreach (var item in unionResult) Console.WriteLine($"{item}");

得到的结果是20个对象,其中前Bool为True的后10个为False。