使用LINQ合并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; 

您可以使用ConcatToArray执行此操作,如下所示:

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

这将把num2所有元素放在num1元素之后,产生看起来像的res

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

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

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

 var res = num1.Concat(num2).OrderBy(v=>v).ToArray(); 
 var allNumbers = num1.Concat(num2); 
 var result = num1.Concat(num2); 

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

使用Concat

  var res= num1.Concat(num2); 

尝试如下……它会帮助你..

 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();