本文档已存档,并且将不进行维护。

String.GetHashCode 方法

返回该字符串的哈希代码。

命名空间: System
程序集: mscorlib(在 mscorlib.dll 中)

public override int GetHashCode ()
public int GetHashCode ()
public override function GetHashCode () : int
不适用。

返回值

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

GetHashCode 的行为取决于它的实现,此实现可能会从一个公共语言运行库版本更改为另一个版本。原因可能是为了提高 GetHashCode 的性能。

下面的代码示例使用各种输入字符串演示 GetHashCode 方法。

// Example for the String.GetHashCode( ) method.
using System;

class GetHashCode 
{
    public static void Main() 
    {
        Console.WriteLine( 
            "This example of String.GetHashCode( ) " +
            "generates the following output.\n" );

        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 of String.GetHashCode( ) generates the following output.

The hash code for "" is: 0x00001505, 5381
The hash code for "a" is: 0x0002B5C4, 177604
The hash code for "ab" is: 0x00596E26, 5860902
The hash code for "abc" is: 0x0B873285, 193409669
The hash code for "abd" is: 0x0B873282, 193409666
The hash code for "abe" is: 0x0B873283, 193409667
The hash code for "abcdef" is: 0x4DDB4BE2, 1306217442
The hash code for "abcdeg" is: 0x4DDB4BE3, 1306217443
The hash code for "abcdeh" is: 0x4DDB4BEC, 1306217452
The hash code for "abcdei" is: 0x4DDB4BED, 1306217453
The hash code for "Abcdeg" is: 0x941C4FC3, -1810083901
The hash code for "Abcdeh" is: 0x941C4FCC, -1810083892
The hash code for "Abcdei" is: 0x941C4FCD, -1810083891
*/

// Example for the String.GetHashCode( ) method.
import System.*;

class GetHashCode
{
    public static void main(String[] args)
    {
        Console.WriteLine(("This example of String.GetHashCode( ) " 
            + "generates the following output.\n"));
        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");
    } //main

    static void DisplayHashCode(String operand)
    {
        int hashCode = operand.GetHashCode();
        Console.WriteLine("The hash code for \"{0}\" is: 0x{1}, {2}", 
            operand, ((System.Int32)hashCode).ToString("X8"), 
            ((System.Int32)hashCode).ToString(""));
    } //DisplayHashCode
} //GetHashCode

/*
This example of String.GetHashCode( ) generates the following output.

The hash code for "" is: 0x00001505, 5381
The hash code for "a" is: 0x0002B5C4, 177604
The hash code for "ab" is: 0x00596E26, 5860902
The hash code for "abc" is: 0x0B873285, 193409669
The hash code for "abd" is: 0x0B873282, 193409666
The hash code for "abe" is: 0x0B873283, 193409667
The hash code for "abcdef" is: 0x4DDB4BE2, 1306217442
The hash code for "abcdeg" is: 0x4DDB4BE3, 1306217443
The hash code for "abcdeh" is: 0x4DDB4BEC, 1306217452
The hash code for "abcdei" is: 0x4DDB4BED, 1306217453
The hash code for "Abcdeg" is: 0x941C4FC3, -1810083901
The hash code for "Abcdeh" is: 0x941C4FCC, -1810083892
The hash code for "Abcdei" is: 0x941C4FCD, -1810083891
*/

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Windows Vista、Microsoft Windows XP SP2 和 Windows Server 2003 SP1 支持 Microsoft .NET Framework 3.0。

.NET Framework

受以下版本支持:3.0、2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

XNA Framework

受以下版本支持:1.0
显示: