是否有一種簡單的方法可以使用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,但對於沒有鍵值的簡單類型和類我無法弄清楚。
編輯:我更加精確。示例中的列表是手動分配的,但我在詢問解決方案,對於任何數量的比較列表來說都是靈活的。此外,列表總是相同的大小。
他們總是相同的每個條目的數量? (i,e'new double [x,5]') – Sayse
是的,不需要檢查值是否存在。所有列表具有相同的大小。 – Tarec