0

私は2つの配列を持っています。

String[] arrFirst={"a","b","c","d","e"};
String[] arrSecond={"a","b","f","d","g"};
String[] arrThird={"a","f","g","h","e"};

arrFirstforとのような結果が必要です。arrSecond結果は3

arrFirstとの場合arrThird、結果は2

私が見つけたすべてのコードは、2 つの配列を比較しており、例が同じかどうかを返します。

しかし、私が欲しいのは、一致する数です。

私はループの方法を行うことができます。

しかし、時間がかかりすぎると思うので、もっと速い方法はないかと考えています。

ありがとう..

4

3 に答える 3

6

Intersectメソッドを使用できます。

    String[] arrFirst={"a","b","c","d","e"};
    String[] arrSecond={"a","b","f","d","g"};
    String[] arrThird={"a","f","g","h","e"};

    arrFirst.Intersect(arrSecond).Count(); // 3
    arrFirst.Intersect(arrThird).Count(); //2
于 2012-06-27T06:37:46.617 に答える
1
arrFirst.Join(arrSecond,f=>f,s=>s,(f,s)=>f).count();
于 2012-06-27T06:37:56.230 に答える
1
arrFirst.Zip(arrSecond, (a, b) => a.Equals(b)).Count(a => a);
于 2012-06-27T06:38:48.720 に答える