CompareInfo.GetHashCode 方法

定义

返回此 CompareInfo 实例或特定字符串的哈希代码。

重载

GetHashCode(String, CompareOptions)

根据指定的比较选项获取字符串的哈希代码。

GetHashCode()

用作当前 CompareInfo 的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。

GetHashCode(ReadOnlySpan<Char>, CompareOptions)

根据指定的比较选项获取字符范围的哈希代码。

GetHashCode(String, CompareOptions)

根据指定的比较选项获取字符串的哈希代码。

public:
 virtual int GetHashCode(System::String ^ source, System::Globalization::CompareOptions options);
public:
 int GetHashCode(System::String ^ source, System::Globalization::CompareOptions options);
public virtual int GetHashCode (string source, System.Globalization.CompareOptions options);
public int GetHashCode (string source, System.Globalization.CompareOptions options);
override this.GetHashCode : string * System.Globalization.CompareOptions -> int
Public Overridable Function GetHashCode (source As String, options As CompareOptions) As Integer
Public Function GetHashCode (source As String, options As CompareOptions) As Integer

参数

source
String

要返回其哈希代码的字符串。

options
CompareOptions

确定如何比较字符串的值。

返回

Int32

32 位有符号整数哈希代码。

例外

sourcenull

注解

的行为GetHashCode取决于其实现,后者可能会从公共语言运行时的一个版本更改为另一个版本,或者从一个.NET Framework平台更改为另一个版本。

重要

如果两个字符串对象相等,该方法 GetHashCode 将返回相同的值。 但是,对于每个唯一字符串值,没有唯一的哈希代码值。 不同的字符串可以返回相同的哈希代码。

不保证哈希代码本身是稳定的。 同一字符串的哈希代码可能因.NET Framework版本和平台 ((例如 32 位和 64 位) )的单个版本的.NET Framework而有所不同。 在某些情况下,它们甚至可能因应用程序域而异。

因此,不应在创建哈希代码的应用程序域之外使用哈希代码,也不应将其用作集合中的键字段,也不应持久保存它们。

另请参阅

适用于

GetHashCode()

用作当前 CompareInfo 的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。

public:
 override int GetHashCode();
public override int GetHashCode ();
override this.GetHashCode : unit -> int
Public Overrides Function GetHashCode () As Integer

返回

Int32

当前 CompareInfo 的哈希代码。

注解

此方法重写 Object.GetHashCode

此方法为根据 Equals 方法视为相等的两个对象生成相同的哈希代码。

另请参阅

适用于

GetHashCode(ReadOnlySpan<Char>, CompareOptions)

根据指定的比较选项获取字符范围的哈希代码。

public:
 int GetHashCode(ReadOnlySpan<char> source, System::Globalization::CompareOptions options);
public int GetHashCode (ReadOnlySpan<char> source, System.Globalization.CompareOptions options);
override this.GetHashCode : ReadOnlySpan<char> * System.Globalization.CompareOptions -> int
Public Function GetHashCode (source As ReadOnlySpan(Of Char), options As CompareOptions) As Integer

参数

source
ReadOnlySpan<Char>

要返回其哈希代码的字符范围。

options
CompareOptions

确定如何比较字符串的值。

返回

Int32

32 位有符号整数哈希代码。

注解

此重载的行为取决于其实现,后者可能会从公共语言运行时的一个版本更改为另一个版本,或者从一个 .NET 实现更改为另一个版本。

重要

如果两个字符范围相等,则此重载将返回相同的值。 但是,对于每个唯一字符范围值,没有唯一的哈希代码值。 不同的字符范围可以返回相同的哈希代码。

不保证哈希代码本身是稳定的。 相同字符范围的哈希代码可能因 .NET 实现版本和平台 ((例如 32 位和 64 位) )而不同,对于单个版本的 .NET。

因此,不应在创建哈希代码的应用程序域之外使用哈希代码,也不应将其用作集合中的键字段,也不应持久保存它们。

适用于