2009-10-16 46 views
2

如何在化合物选择期间将两个阵列合并到单个阵列中(没有使用Union)(该问题在访谈时被问到)。Linq化合物选择

var num1 = new int[] { 12, 3, 4, 5 }; 
    var num2 = new int[] { 1, 33, 6, 10 }; 

我尝试作为

var pairs = from a in num1 from b in num2 select new {combined={a,b}}; 

预期: 组合需要为{12,3,4,5,1,33,6,10}

+0

结合两个数组有多种方法。除非你指定你想要的结果,否则很难给出答案。 – 2009-10-16 18:45:49

+0

面试官真的希望你使用Linq吗?我猜他们没有,看看你是否可以亲自动手。 – 2009-10-16 18:52:06

+0

哦!我懂了 !谢谢弗兰克 – user190560 2009-10-16 18:54:34

回答

6
num1.Concat(num2); 

I” m不知道是否有相关的LINQ关键字。

5

如果你只是想将2个数组组合成一个包含两个数组元素的新数组,然后使用concat。

var combined = num1.Concat(num2); 
var combinedAsArray = combined.ToArray(); 
+0

非常感谢。 Tinister先回答,我可以打勾他的回答吗? – user190560 2009-10-16 19:09:36

+0

@linqfying勾选你认为最好的答案。蒂尼斯特打我一拳,所以我会打他的。 – JaredPar 2009-10-16 19:57:36

+0

感谢您的开放式回复:)太棒了! – user190560 2009-10-18 06:49:41

-1

var newArray =(从num1.Concat(num2)中的数字中选择数字).ToArray();

+0

非常感谢Greg – user190560 2009-10-16 19:10:10

+0

linq构造不添加任何东西。 'num1.Concat(num2).ToArray()'就足够了。 – 2009-10-16 19:28:57

+0

我同意它不,但他的问题要求一个复合选择,这对我来说意味着一个linq构造,而不是仅仅调用一个linq扩展方法。 – 2009-10-16 20:20:12