2009-10-16 84 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