如果我有一個Issue具有以下引數的物件串列:List<int> ids,則string key如下所示:
List<Issue> issues = new List<Issue>()
{
new Issue()
{
ids = new List<int>(){1},
key = "CODE1"
},
new Issue()
{
ids = new List<int>(){2},
key = "CODE1"
}
};
我正在尋找一種方法來聚合這兩個Issue物件,key以便串列中只有一個這樣的專案,但ids整數串列中有兩個。可以翻譯成的東西:
List<Issue> issues = new List<Issue>()
{
new Issue()
{
ids = new List<int>(){1, 2},
key = "CODE1"
}
};
目前,我的想法是只決議串列并進行不同的驗證,但我想知道是否有一種“快速”的方式來做到這一點。嘗試了我的運氣,Aggregate()但到目前為止沒有運氣。
uj5u.com熱心網友回復:
您可以按鍵對它們進行分組,并為每個鍵使用以下方法展平 ids 串列SelectMany:
List<Issue> agregated = issues.GroupBy(x => x.key)
.Select(g => new Issue
{
key = g.Key,
ids = g.SelectMany(s => s.ids).ToList()
}).ToList();
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/419223.html
標籤:
下一篇:如何將串列中的資訊轉換為表格?
