在字典中使用对象作为键是否"不好"?

Tru*_*f42 3 .net dictionary hashtable

我假设在字典中进行查找时,需要对您提供的密钥进行哈希处理,然后使用该哈希来查找您要查找的对象.

如果是这样,那么使用较大的对象作为键会显着减慢查找速度,还是会产生使用字符串或简单数据类型作为键不会遇到的其他后果?

Jef*_*les 6

是的,将可变对象用作字典键是个坏主意.

看一下/sf/answers/555931351/,让我相信会有意想不到的后果,即使正确实现的GetHashCode()基于如何通常实现基于散列的集合.

将不可变对象用作字典键应该是安全的.