比较2个列表后抓取缺失的值

时间:2016-10-25 16:04:56

标签: c# asp.net list

我目前有两个列表

List<string> original = new List<string>();
List<string> edited = new List<string>();


List A            List B
------            ------
   1                 1
   2                 2
   3

我想抓取并显示比较后无法匹配的值(在上例中为3

2 个答案:

答案 0 :(得分:3)

var notMatched = original.Except(edited).ToList();

修改

如果您有多个不匹配的值具有相同的值并且只想显示一次:

var notMatched = original.Except(edited).Distinct().ToList();

答案 1 :(得分:0)

  

我并不熟悉并使用lambda表达式。我正在考虑使用foreach。

不需要循环。

    List<string> deletedStuff= new List<string>();
    deletedStuff.AddRange( original.FindAll( x => ! edited.Contains( x ) ).AsEnumerable());