gpt4 book ai didi

c# - 连接项目列表中的属性

转载 作者:太空狗 更新时间:2023-10-30 00:21:24 26 4
gpt4 key购买 nike

我在处理一小段代码时遇到了问题。

我有一个 MapItem 类的列表,其中包含几个属性 Address 和 Html,我需要将每个项目的 Html 属性与相同的 Address 属性连接起来例如:

firstMapItem = new MapItem { Address = "1122 Elm Street", 
Html="<p>some html</p>" };
secondMapItem = new MapItem { Address = "1122 Elm Street",
Html="<p>different html</p>" };

会变成:

firstMapItem.Address == "1122 Elm Street";
firstMapItem.Html == "<p>some html</p><p>different html</p>";

secondMapItem.Address == "1122 Elm Street";
secondMapItem.Html == "<p>some html</p><p>different html</p>";

这是我目前尝试过的:

            foreach (MapItem item in mapItems)
{
var sameAddress = from m in mapItems
where m.Address == item.Address
select m;

if (sameAddress.Count() > 1)
{
//tried inserting -> item.Html = ""; right here as well
foreach (MapItem single in sameAddress)
{
item.Html += single.Html;
}
}
}

我可能把它变得比需要的更复杂了。

提前致谢。

最佳答案

您可以按 Address 分组,然后连接 Html 值:

var results = from m in mapItems
group m by m.Address into ms
select new MapItem
{
Address = ms.Key,
Html = string.Concat(ms.Select(m => m.Html))
};

关于c# - 连接项目列表中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5572886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com