System.String.GetHashCode 方法
方法描述
返回该字符串的哈希代码。
语法定义(C# System.String.GetHashCode 方法 的用法)
public override int GetHashCode()
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
返回值 | System.Int32 | 32 位有符号整数哈希代码。 |
提示和注释
GetHashCode 的行为取决于它的实现,此实现可能会从一个公共语言运行时版本更改为另一个版本。 原因可能是为了提高 GetHashCode 的性能。
注意
如果两个字符串对象相等,则 GetHashCode 方法返回相同的值。 但是,每个唯一的字符串值并没有唯一的哈希代码值。 不同的字符串可以返回相同的哈希代码。
对调用者的说明
GetHashCode 返回的值与平台相关。 在 32 位和 64 位版本的 .NET Framework 上有所不同。
System.String.GetHashCode 方法例子
下面的示例使用各种输入字符串演示 GetHashCode 方法。
using System; class GetHashCode { public static void Main() { DisplayHashCode( "" ); DisplayHashCode( "a" ); DisplayHashCode( "ab" ); DisplayHashCode( "abc" ); DisplayHashCode( "abd" ); DisplayHashCode( "abe" ); DisplayHashCode( "abcdef" ); DisplayHashCode( "abcdeg" ); DisplayHashCode( "abcdeh" ); DisplayHashCode( "abcdei" ); DisplayHashCode( "Abcdeg" ); DisplayHashCode( "Abcdeh" ); DisplayHashCode( "Abcdei" ); } static void DisplayHashCode( String Operand ) { int HashCode = Operand.GetHashCode( ); Console.WriteLine("The hash code for \"{0}\" is: 0x{1:X8}, {1}", Operand, HashCode ); } } /* This example displays output like the following: The hash code for "" is: 0x2D2816FE, 757602046 The hash code for "a" is: 0xCDCAB7BF, -842352705 The hash code for "ab" is: 0xCDE8B7BF, -840386625 The hash code for "abc" is: 0x2001D81A, 536991770 The hash code for "abd" is: 0xC2A94CB5, -1029092171 The hash code for "abe" is: 0x6550C150, 1699791184 The hash code for "abcdef" is: 0x1762906D, 392335469 The hash code for "abcdeg" is: 0x1763906D, 392401005 The hash code for "abcdeh" is: 0x175C906D, 391942253 The hash code for "abcdei" is: 0x175D906D, 392007789 The hash code for "Abcdeg" is: 0x1763954D, 392402253 The hash code for "Abcdeh" is: 0x175C954D, 391943501 The hash code for "Abcdei" is: 0x175D954D, 392009037 */
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。