Linq Compound selection

2

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

    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? Я предполагаю, что они не сделали, чтобы увидеть, если вы можете сделать это вручную.
Показать ещё 1 комментарий
Теги:
linq-to-objects

3 ответа

6
Лучший ответ
num1.Concat( num2 );

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

5

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

var combined = num1.Concat(num2);
var combinedAsArray = combined.ToArray();
  • 0
    Большое спасибо. Тинистер ответил первым, могу ли я отметить его ответ?
  • 0
    @linqfying отметьте ответ, который вы считаете лучшим. Тинистер избил меня до удара, чтобы я пометил его.
Показать ещё 1 комментарий
-1

var newArray = (из числа в num1.Concat(num2) select number).ToArray();

  • 0
    Большое спасибо, Грег
  • 0
    Конструкция linq ничего не добавляет. 'num1.Concat (num2) .ToArray ()' достаточно.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню