3

重複の可能性:
リストからサブリストを削除する

私は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 = ??
4

5 に答える 5

5
var unique = oldList.Except(newList);

http://msdn.microsoft.com/en-us/library/system.linq.enumerable.except.aspx

于 2013-01-31T13:30:38.030 に答える
2

メソッドを使用できます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ます。

于 2013-01-31T13:31:54.617 に答える
2
var list = oldList.Except(newList).ToList();

oldListにないすべての要素を返すことを意味しnewListます。

于 2013-01-31T13:30:45.900 に答える
2

newList にはない oldList の値のことですか? もしそうなら:

var list = oldList.Except(newList);

MSDN のEnumerable.Exceptを参照してください。

ToList()本当にリストが必要な場合は、への呼び出しを追加してください。

于 2013-01-31T13:31:07.663 に答える
0

メソッドを作成する必要がありますExcept

var list = oldList.Except(newList);

2 つのシーケンスの集合差を生成します。【ドキュメンテーション

于 2013-01-31T13:32:59.687 に答える