我有一個物件串列。
這些物件在其他元素中具有一個稱為“參考”的字串。該串列可能如下所示:
|reference| description |
|123 | this should |
|124 | sth |
|125 | sth |
|123 | be one |
我想在此串列中合并具有相同參考的所有元素。結果應該是:
|reference| description |
|123 | this should be one|
|124 | sth |
|125 | sth |
進入一個新串列。到目前為止,我只能找到有關如何分組或如何組合兩個串列的解決方案。有任何想法嗎?
uj5u.com熱心網友回復:
您應該根據參考欄位將它們分組并連接描述。
這樣的事情應該作業
var results = list
.GroupBy(i => i.Reference)
.Select(g =>
(Reference: g.Key,
Description: string.Join(" ", g
.Select(i => i.Description)));
uj5u.com熱心網友回復:
根據您的需要,您可以使用匿名物件或生成您的型別別的新串列...
void Main()
{
var list = new List<YourClass>()
{
new YourClass{Reference = 123, Description = "this should"},
new YourClass{Reference = 124, Description = "sth"},
new YourClass{Reference = 125, Description = "sth"},
new YourClass{Reference = 123, Description = "be one"},
};
var combined = list
.GroupBy(item => item.Reference)
.Select(group => new YourClass
{
Reference = group.Key,
Description = string.Join(" ", group.Select(element => element.Description).Distinct())
});
Console.WriteLine(combined);
}
class YourClass
{
public int Reference {get;set;}
public string Description {get;set;}
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/335841.html
