Объедините два массива неравной длины и получите кортежиC#

Место общения программистов C#
Anonymous
Объедините два массива неравной длины и получите кортежи

Сообщение Anonymous »

допустим, у меня есть две коллекции:

Код: Выделить всё

string[] arr1 =
{
"item-1",
"item-2",
"item-3",
"item-777",
"item-4"
};

string[] arr2 =
{
"item-1",
"item-2",
"item-3",
"item-4"
};
TODO: если элемент arr1 не соответствует элементу arr2, возвращается: arr1 = «пустой». тип возвращаемого значения: IEnumerable.
результат должен быть следующим:

Код: Выделить всё

item-1 - item-1
item-2 - item-2
item-3 - item-3
item-777 - empty
item-4 - item-4
Мое решение не работает:

Код: Выделить всё

IEnumerable result = arr1.Join(arr2,
item => item,
item => item ?? "empty",
(item1, item2) => (item1, item2));

foreach (var item in result)
{
Console.WriteLine($"{item.Item1} - {item.Item2}");
}
Пожалуйста, помогите.

Подробнее здесь: https://stackoverflow.com/questions/712 ... get-tuples

Вернуться в «C#»