我必须承认我对哈希表的工作原理只有基本的了解,尽管从我所知道的一点来看,它似乎相当简单。我的问题就是:传统智慧似乎是使用简单的基本值类型,如整数作为哈希表中的键。然而,字符串也经常被用作键,尽管在许多语言中它们被实现为引用类型。通常不鼓励使用复杂的引用类型;我猜这是因为这样做会需要一个较慢的哈希函数?但那么为什么字符串如此常用呢?毕竟,字符串在内部不是一个char[]数组(在大多数语言中)吗?
最终,在哈希表中,哪些值类型通常被视为“最好的”(甚至只是“可以接受的”)选择?还有没有常用的选择被认为是“不好”的(例如字符串)?
最终,在哈希表中,哪些值类型通常被视为“最好的”(甚至只是“可以接受的”)选择?还有没有常用的选择被认为是“不好”的(例如字符串)?
System.Windows.Forms.Form
非常是一种可变类型(具有随时可以更改的位置等属性),但可以使用哈希表将表单与其他内容相关联。请注意,这样的表始终将视两个对不同窗体的引用为不相等,即使它们的所有属性(除了它们的标识)恰好匹配。 - supercat