gpt4 book ai didi

c# - 检查对象列表中的属性是否匹配的最快数据结构

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

我有一个列表,其中存储了一些对象。每个对象都有一个变量形式的属性。

我希望能够检查此列表中的任何项目是否包含特定属性。类似于 Dictionary 的 ContainsKey 方法。这个数据结构要保存非常大量的值,甚至可能是数百万,因此我想使用一个可以尽快检查属性的数据结构。

Dictionary 是否是这项工作最快的,或者是否有更快的数据结构?

编辑:

这是我想要实现的一个快速的小例子:

Dictionary<string, Person> persons = new Dictionary<string, Person>(); //where string contains the Person's name

bool isPresent = persons.ContainsKey("Matt");

最佳答案

听起来您基本上只需要一个 HashSet<T>包含所有属性值 - 假设您真的只是想知道它是否包含在内。

例如:

var allNames = new HashSet<string>(people.Select(person => person.Name));

关于c# - 检查对象列表中的属性是否匹配的最快数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9648592/

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