gpt4 book ai didi

c# - 在 C# .NET 中用于在 O(1) 时间内获取项目的“正确”集合?

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

如果我正在存储一堆字符串值并且我希望能够在 O(1) 时间后找到它们,我经常做的事情是:

foreach (String value in someStringCollection)
{
someDictionary.Add(value, String.Empty);
}

这样,以后我就可以轻松地对这些字符串值执行恒定时间查找,例如:

if (someDictionary.containsKey(someKey))
{
// etc
}

但是,我觉得我通过使值 String.Empty 作弊。我应该使用更合适的 .NET 集合吗?

最佳答案

如果您使用的是 .Net 3.5,请尝试 HashSet .如果您不使用 .Net 3.5,请尝试 C5 .否则,您当前的方法就可以了(@leppie 建议的 bool 更好,或者不像 @JonSkeet 建议的那样,dun dun dun!)。

HashSet<string> stringSet = new HashSet<string>(someStringCollection);

if (stringSet.Contains(someString))
{
...
}

关于c# - 在 C# .NET 中用于在 O(1) 时间内获取项目的“正确”集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/330978/

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