Страницы

Поиск по вопросам

вторник, 23 апреля 2019 г.

Объединение двух массивов в C# (заданное количество элементов)

Есть два массива list1 и list2. При помощи LINQ нужно получить массив list3 состоящий из заданного кол. элементов из list1 и заданного кол. элементов из list2


Ответ

Воспользуйтесь функциями:
Concat(), которая объединяет две последовательности в одну. Take(), которая позволяет вернуть первые N элементов из последовательности
Например
var list1 = new List() { "1", "2", "3", "4", "5", "6", "7" };
var list2 = new List() { "1", "2", "3", "4", "5", "6", "7" };
var list3 = list1.Take(5).Concat(list2.Take(3));
В итоге list3 будет содержать 5 элементов из первого списка, и 3 - из второго
"1", "2", "3", "4", "5", "1", "2", "3"
Если вы хотите из списков брать не первые элементы, а 'элементы где-нибудь из середины списка, то тогда вам в помощь функция Skip(), которая позволяет пропустить N количество элементов с начала последовательности
var list3 = list1.Skip(2).Take(5).Concat(list2.Take(3));
Результат в list3
"3", "4", "5", "6", "7", "1", "2", "3"

Комментариев нет:

Отправить комментарий