散列表根据散列代码唯一的识别关键字。散列代码是在合适的地方用来唯一地识别特殊类型的单个对象实例。一个理想的散列代码算法应该总是返回对于特殊类型的单个实例来说是唯一的散列代码。像数据库中的一行身份字段也可以较好地用作散列代码。Hashtable可以使用散列代码提供有效而又迅速的查找。在创建自定义类型时,必须采用比较优秀的散列代码算法。
如同.NET Framework类库中的大多数集合可以使用任何类型一样,System.Object类有一个名为GetHashCode的方法,该方法能够返回任何对象实例的散列代码。而系统所提供的该方法的实现方式也返回唯一的识别对象实例的散列代码,但该对象实例并不是具体于某一指定类型。返回的值仅仅是CLR内部保存的用来识别对象的索引。这就是说,如果类型没有重写GetHashCode由系统提供的实现方式,那么在默认状态下,如果两段散列代码的值一样,那就是同一个对象实例。