使用LINQ合并2个数组

15 c# linq data-structures

我有两个简单的数组,我想使用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;
Run Code Online (Sandbox Code Playgroud)

das*_*ght 34

你可以使用ConcatToArray这样做:

var res = num1.Concat(num2).ToArray();
Run Code Online (Sandbox Code Playgroud)

这将放置num2after元素的所有元素num1,产生res看起来像

int[] { 1, 55, 89, 43, 67, -3, 11, 35, 79, 23, 7, -10 };
Run Code Online (Sandbox Code Playgroud)

编辑:(回应评论:"我怎样才能对allNumbers和res进行排序?")

合并两个数组后,您可以使用OrderBy对结果进行排序,如下所示:

var res = num1.Concat(num2).OrderBy(v=>v).ToArray();
Run Code Online (Sandbox Code Playgroud)


Bin*_*ier 5

var result = num1.Concat(num2);
Run Code Online (Sandbox Code Playgroud)

不分配任何内存。这足以满足您的需求吗?