18

我有两个简单的数组,我想使用 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

You can do it using Concat and ToArray, like this:

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

This will put all elements of num2 after elements of num1, producing res that looks like

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

EDIT : (in response to a comment: "how can I also sort either allNumbers and res?")

Once your two arrays are merged, you can use OrderBy to sort the result, like this:

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

Use Concat

  var res= num1.Concat(num2);
于 2013-04-15T10:01:42.253 回答
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 回答