3

LINQソリューション(できれば)をいただければ幸いです。両方を連結する際に重複する値が必要です。

4

1 に答える 1

1

両方のリストに含まれる項目を知りたい場合は、Enumerable.Intersect()メソッドを使用する必要があります。

    var list1 = new List<KeyValuePair<string,string>>();
    var list2 = new List<KeyValuePair<string,string>>();

    list1.Add(new KeyValuePair<string,string>("key1", "value1"));
    list1.Add(new KeyValuePair<string,string>("key2", "value2"));
    list2.Add(new KeyValuePair<string,string>("key1", "value1"));
    list2.Add(new KeyValuePair<string,string>("key3", "value3"));

    var inBothLists = list1.Intersect(list2); // contains only key1,value1

2 つのオーバーロードがあり、1 つはIEqualityComparer<T>so を受け取ります。デフォルトのオーバーロードが必要な方法で比較を実行しない場合は、独自のオーバーロードを記述して提供できます。

于 2012-08-02T19:19:40.520 に答える