21

たとえば、次の 2 つの配列があります。

var list1 = string[] {"1", "2", "3", "4", "5", "6"};
var list2 = string[] {"2", "3", "4"};

私がやろうとしていることは -

  1. list1andから共通項目を取得list2(例: {"2", "3", "4"})
  2. 異なるアイテムlist1を取得してlist2(例: {"1", "5", "6"})

だから私はLINQで試してみました -

var listDiff = list1.Except(list2); //This gets the desire result for different items

しかし、

var listCommon = list1.Intersect(list2); //This doesn't give me desire result. Comes out as {"1", "5", "6", "2", "3", "4"};

何か案は?

4

1 に答える 1

29

どういうわけかあなたはどこかからその結果を得ています。(おそらく、最初に内容を書き出していてlistDIff、それがからのものだと思ったのでしょうlistCommon。)このIntersectメソッド、両方のリストに存在するアイテムを提供します。

var list1 = new string[] {"1", "2", "3", "4", "5", "6"};
var list2 = new string[] {"2", "3", "4"};
var listCommon = list1.Intersect(list2);
foreach (string s in listCommon) Console.WriteLine(s);

出力:

2
3
4
于 2012-05-18T07:14:04.480 に答える