可能重复:
从列表中删除子列表
我有 2 个列表:
var oldList = new List<int>(){1,2,3,4,5};
var newList = new List<int>(){1,2,3,6,7};
我怎样才能拥有旧列表的唯一值(使用 LINQ)?
//hardcoded list:
var list = new List<int>(){4,5};
//LINQ:
var list = ??
var unique = oldList.Except(newList);
http://msdn.microsoft.com/en-us/library/system.linq.enumerable.except.aspx
var list = oldList.Except(newList).ToList();
这意味着它将返回所有oldList
不在的元素newList
。
您的意思是 oldList 中的值不在 newList 中?如果是这样的话:
var list = oldList.Except(newList);
请参阅MSDN 上的Enumerable.Except。
ToList()
如果您确实需要列表,请添加呼叫。
你可以使用Enumerable.Except()
方法。
产生两个序列的集合差。
var oldList = new List<int>() { 1, 2, 3, 4, 5 };
var newList = new List<int>() { 1, 2, 3, 6, 7 };
var value = oldList.Except(newList);
foreach (var i in value)
{
Console.WriteLine(i);
}
这是一个DEMO
.