最近在看数据结构的一些东西,接触到了list.RemoveAll方法,可以用来找两个list的交集,网上也有很多介绍,写下来权当记录了。废话少数,直接上代码:
lambada表达式代码:
static List<Object> list = new List<Object>() { 1,2,4,"a","b"};
static List<Object> list1 = new List<Object>() { 1, 2, 3,"a","c" };
static void Main(string[] args)
{
list1.RemoveAll(it => list.Contains(it));
foreach (Object i in list1)
{
Console.WriteLine(i);
}
Console.ReadKey();
}
运行结果是:3 c 。
也可以这样:
static List<Object> list = new List<Object>() { 1,2,4,"a","b"};
static List<Object> list1 = new List<Object>() { 1, 2, 3,"a","c" };
static void Main(string[] args)
{
list1.RemoveAll(IsContain);
foreach (Object i in list1)
{
Console.WriteLine(i);
}
Console.ReadKey();
}
public static bool IsContain(Object ob)
{
if (list.Contains(ob))
{
return true;
}
return false;
}
运行结果:3 c 。