StringComparer.GetHashCode 方法

定义

当在派生类中重写时,将获取当前 StringComparer 对象的哈希代码。

重载

GetHashCode(String)

当在派生类中重写时,将获取指定字符串的哈希代码。

GetHashCode(Object)

当在派生类中重写时,将获取指定对象的哈希代码。

GetHashCode(String)

当在派生类中重写时,将获取指定字符串的哈希代码。

public:
 abstract int GetHashCode(System::String ^ obj);
public abstract int GetHashCode (string obj);
override this.GetHashCode : string -> int
Public MustOverride Function GetHashCode (obj As String) As Integer

参数

obj
String

一个字符串。

返回

Int32

根据 obj 参数的值计算出的 32 位有符号哈希代码。

实现

例外

没有足够的内存可用于分配计算哈希代码所需的缓冲区。

objnull

注解

该方法 GetHashCode(String) 比方法更有效, GetHashCode(Object) 因为 obj 参数不必取消装箱才能执行该操作。

该方法GetHashCode(String)分配的内存量与计算哈希代码obj的大小obj成正比。 对于大型字符串,尝试检索哈希代码可能会引发一个 ArgumentException。 相反,可以在计算哈希代码时使用分配固定内存量的备用算法。 若要使用此算法,请将 <NetFx45_CultureAwareComparerGetHashCode_LongStrings> 元素添加到 <runtime> 应用程序的配置文件部分。

适用于

GetHashCode(Object)

当在派生类中重写时,将获取指定对象的哈希代码。

public:
 virtual int GetHashCode(System::Object ^ obj);
public:
 int GetHashCode(System::Object ^ obj);
public int GetHashCode (object obj);
override this.GetHashCode : obj -> int
Public Function GetHashCode (obj As Object) As Integer

参数

obj
Object

一个对象。

返回

Int32

根据 obj 参数的值计算出的 32 位有符号哈希代码。

实现

例外

没有足够的内存可用于分配计算哈希代码所需的缓冲区。

objnull

注解

该方法 GetHashCode(String)GetHashCode 方法更有效,因为 obj 参数不必取消装箱来执行操作。

该方法GetHashCode(Object)分配的内存量与计算哈希代码obj的大小obj成正比。 对于大型字符串,尝试检索哈希代码可能会引发一个 ArgumentException。 相反,可以在计算哈希代码时使用分配固定内存量的备用算法。 若要使用此算法,请将 <NetFx45_CultureAwareComparerGetHashCode_LongStrings> 元素添加到 <runtime> 应用程序的配置文件部分。

适用于