gpt4 book ai didi

c# - 快速查找 List

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

我有两个通用列表。假设它们是 List< A >List< B > .

A有一个属性,类型是List< B > .此属性包含 B类型对象,由对象的一些其他属性过滤 A .

所以:

class A{
public int Something1;
public int Something2;
public List<B> Something3;
}

class B{
public int Anything1;
public int Anything2;
}

我想添加所有对象 B作为对象列表 A (到名为 Something3 的属性),让我们说对象 A.Something1 == B.Anything1 .

我的问题是:添加 List<B> 的最有效方法是什么?项目 List<A>项目?请注意,两个列表中可能有数十万个对象。

(VS2010;C#;.Net4)

最佳答案

Anything1 属性上将 B 分组并放入字典中。然后你可以遍历 A 并有效地挑选出 B 的列表:

Dictionary<int, List<B>> beegroups = bees.GroupBy(b => b.Anything1).ToDictionary(g => g.Key, g => g.ToList());

foreach (A a in ayes) {
List<B> group;
if (beegroups.TryGetValue(a.Something1, out group)) {
a.Something3 = group;
}
}

关于c# - 快速查找 List<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6432869/

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