哈希表键并产生相同的值

Hashtable Keys and producing the same values

我正在尝试了解哈希表的工作原理。在这个例子中,我可以清楚地看到这个哈希表包含包含完全相同值的键。显然这可行,但我想了解为什么?说散列函数只是指向不同的内存位置是否正确,所有这些位置巧合地包含相同的二进制文件?我似乎无法在搜索中找到合适的答案..

        Hashtable h = new Hashtable();
        h.Add(1, "lol");
        h.Add(2, "lol");
        h.Add(3, "lol");

Add 方法接受键,然后接受值。尝试切换参数,看看会发生什么。你会得到一个 ArgumentException 因为只允许唯一键,

另请参阅文档 https://msdn.microsoft.com/en-us/library/system.collections.hashtable.add(v=vs.110).aspx