Есть ли простой способ взять несколько списков одинакового размера и создать новый один из своих значений min/max в каждом индексе с помощью linq? Я имею в виду, как сравнить элементы на тот же индекс и выбрать, какой из них является минимальным или, как здесь:Объединение нескольких списков в один с помощью linq
List<List<int>> Some2dList = new List<List<int>>
{ new List<int> { 1, 2, 3, 4, 5 },
new List<int> { 5, 4, 3, 2, 1 } } ;
List<int> NewList = new List<int>(5);
for(int i=0; i< 5; i++)
{
int CurrentHighest=0;
for(int j=0; j<2; j++)
{
if (Some2dList[j][i] > CurrentHighest)
CurrentHighest = Some2dList[j][i];
}
NewList.Add(CurrentHighest);
}
//Which gives me {5,4,3,4,5}
я упростил эту петлю смотреть clearlier. Я знаю, что могу использовать Concat и GroupBy, а затем выбирать Max из каждого, но для простых типов и классов без ключевого значения я не могу понять это.
Редактировать: Я shoul've были более точными. Список в примере назначается вручную, но я спрашиваю о решении, которое было бы гибким для ЛЮБОГО количества списков. Кроме того, списки всегда одинакового размера.
Есть ли у них всегда одинаковое количество записей в каждом? (i, e 'new double [x, 5]') – Sayse
Да, нет необходимости проверять, есть ли значение. Все списки имеют одинаковый размер. – Tarec