18

2 つの単純な配列があり、join linq を使用してマージしたいと考えています。

int[] num1 = new int[] { 1, 55, 89, 43, 67, -3 };
int[] num2 = new int[] { 11, 35, 79, 23, 7, -10 };

var result = from n1 in num1
             from n2 in num2
             select result;
4

5 に答える 5

38

Concat次のようにとを使用して実行できますToArray

var res = num1.Concat(num2).ToArray();

これにより、の要素のnum2後に のすべての要素が配置され、次のようになります。num1res

int[] { 1, 55, 89, 43, 67, -3, 11, 35, 79, 23, 7, -10 };

EDIT : (コメントへの応答: 「どうすれば allNumbers と res を並べ替えることができますか?」)

2 つの配列がマージされたら、次OrderByのように結果を並べ替えることができます。

var res = num1.Concat(num2).OrderBy(v=>v).ToArray();
于 2013-04-15T10:00:46.470 に答える
5
var result = num1.Concat(num2);

メモリを割り当てません。これで十分ですか?

于 2013-04-15T10:03:23.947 に答える
3
var allNumbers = num1.Concat(num2);
于 2013-04-15T10:00:54.910 に答える
0

以下のようにしてみてください...それはあなたを助けるでしょう..

int[] num1 = new int[] { 1, 55, 89, 43, 67, -3 };
int[] num2 = new int[] { 11, 35, 79, 23, 7, -10 };
var result = num1.Union(num2).ToArray();
于 2013-04-15T10:03:25.657 に答える
0

使用するConcat

  var res= num1.Concat(num2);
于 2013-04-15T10:01:42.253 に答える