重複の可能性:
リストからサブリストを削除する
私は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 = ??
重複の可能性:
リストからサブリストを削除する
私は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
メソッドを使用できますEnumerable.Except()
。
2 つのシーケンスの集合差を生成します。
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
ます。
var list = oldList.Except(newList).ToList();
oldList
にないすべての要素を返すことを意味しnewList
ます。
newList にはない oldList の値のことですか? もしそうなら:
var list = oldList.Except(newList);
MSDN のEnumerable.Exceptを参照してください。
ToList()
本当にリストが必要な場合は、への呼び出しを追加してください。