从列表X中删除列表Y的所有内容

时间:2014-03-18 11:47:26

标签: c# list

我有两个列表我的要求是我要创建一个列表,其数据应该是x的所有值减去y中的所有值。

例如。

List<string> s = new List<string>();
List<string> y = new List<string>();

List s contain {“a”,”b”,”c”,”d”}
List y contain {“b”,”c”}

我想要再创建一个列表

List<string>  z = new List<string>();

应该是谁的价值

{“a”,”d”}

3 个答案:

答案 0 :(得分:3)

只需使用LinQ:

z=s.Except(y).ToList();

以下是您的具体问题的参考:How to: Find the Set Difference Between Two Lists (LINQ)

答案 1 :(得分:0)

以下是

的一种方法
z=s.Where(x=>!y.Contains(x)).ToList();

答案 2 :(得分:0)

这应该做到

List<string> a = new List<string> { "a", "b", "c", "d" };
List<string> b = new List<string> { "b", "c" };
List<string> c = a.Except(b, StringComparer.OrdinalIgnoreCase).ToList();