Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Phương thức Type.GetHashCode() trong C#

Phương thức Type.GetHashCode() trong C# trả về mã băm (hash code) cho instance hiện tại.

Cú pháp

public override int GetHashCode();

Ví dụ 1

using System;
public class Demo
{
    public static void Main()
    {
        string[] arr = { "tom", "amit", "kevin", "katie" };
        Type t1 = arr.GetType();
        Type t2 = t1.GetElementType();
        Console.WriteLine("Type = " + t2.ToString());
        Console.WriteLine("Hash Code = " + t1.GetHashCode());
    }
}

Đầu ra

Type = System.String
Hash Code = 9144789

Ví dụ 2

using System;
public class Demo
{
    public enum Vehicle { Car, Bus, Bike, Airplane }
    public static void Main()
    {
        try
        {
            Vehicle v = Vehicle.Bike;
            Type type = v.GetType();
            Console.WriteLine("Hash code = " + type.GetHashCode());
            string[] str = type.GetEnumNames();
            Console.WriteLine("GetEnumName() to return the constant name = " + str);
            Type type2 = type.GetEnumUnderlyingType();
            Console.Write("Enum Underlying type = " + type2);
            Array arrObj = type.GetEnumValues();
            Console.Write("Values = " + arrObj);
            Console.WriteLine("\nListing constants ..");
            for (int i = 0; i < str.Length; i++)
                Console.Write("{0} ", str[i]);
        }
        catch (ArgumentException e)
        {
            Console.WriteLine("Not an enum!");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

Đầu ra

Hash code = 44757566
GetEnumName() to return the constant name = System.String[]
Enum Underlying type = System.Int32
Values = Demo+Vehicle[]
Listing constants .. Car Bus Bike Airplane