gpt4 book ai didi

c# - 将 3 个列表比较并重组为一个列表?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:22:56 24 4
gpt4 key购买 nike

所以我有以下内容:

class Item
{
string Name;
bool IsSelected;
}

我有 3 个列表:

List<Item> list1;
List<Item> list2;
List<Item> list3;

我的目标是将以上内容转化为一个集合,其中将相似的“项目”对象组合在一起(相似 = 具有相同“名称”的对象)。

所以我想:

List<ItemContainer> resultantList;

哪里:

class ItemContainer
{
string Name;
IList<Item> items; //items with the same 'Name' (potentially)
}

注意事项:

  • 列表可以包含不同数量的项目。
  • “项目”对象只能属于一个列表。只是我们可以在不同的列表中拥有具有相同“名称”的不同对象。
  • 如果找不到其他具有相同“名称”的对象,它将仍然需要包含在结果列表中。

最简洁明了的实现方式是什么?

注意:性能不是问题。

感谢您的帮助。

最佳答案

你可以试试GroupBy ,

var groupyName = list1.Concat(list2).Concat(list3).GroupBy(I => I.Name);

关于c# - 将 3 个列表比较并重组为一个列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30630459/

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