我对 C hsarp Dictionary 有一个非常具体的问题。假设您在字典中有 100000 条数据
var dictionary = new Dictionary<string, int>();
而且您已经使用...填写了字典
dictionary.Add("car", 1);
dictionary.Add("apple", 2);
...
...
现在假设您正在字典中搜索特定字符串
if (dictionary.ContainsKey("apple"))
{
// then do this
}
我的问题是,字典如何从这么多键中搜索这个特定的值?它是否通过线性搜索。但 msdn 声称字典搜索复杂度接近 O(1) LinkMSDN
我对 Dictionary 的了解是它没有任何内部搜索/排序算法。 关联
谁能解释一下字典如何将其值存储在内存中以及从系统的角度检索值是如何发生的。我知道作为一名高级程序员,我们不需要考虑 .Net 的所有这些特性,但很高兴知道。其实我很想知道。MSDN 说它使用哈希表,但没有解释。