2009-10-16 3 views
2

Как я могу объединить два массива в один массив во время выбора соединения (без использования Союза) (Вопрос был задан на собеседовании).Выбор Linq Compound

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

Существует несколько способов объединения двух массивов. Если вы не укажете, какой результат вы хотите получить, трудно дать ответ. –

+0

Неужели интервьюер действительно хочет, чтобы вы использовали Linq? Я бы предположил, что они этого не сделали, чтобы посмотреть, сможете ли вы это сделать вручную. –

+0

ой! я вижу ! Спасибо Frank – user190560

ответ

6
num1.Concat(num2); 

I» m не уверен, есть ли связанное ключевое слово LINQ.

5

Если вы хотите объединить 2 массива в новый массив, содержащий элементы из обоих массивов, используйте concat.

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

Спасибо вам большое. Tinister ответил первым, могу ли я пометить его ответ? – user190560

+0

@linqfying тик ответа, который вы считаете лучшим. Тинистер избил меня до удара, чтобы я его поклевал. – JaredPar

+0

Спасибо за ваш открытый ответ:) отлично! – user190560

-1

вар newArray = (от числа в num1.Concat (num2) выберите номер) .ToArray();

+0

Большое спасибо Greg – user190560

+0

Конструкция linq ничего не добавляет. 'num1.Concat (num2) .ToArray()' достаточно. –

+0

Я согласен, но его вопрос задал сложный отбор, который для меня подразумевал бы конструкцию linq, а не просто вызов метода расширения linq. –