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

Lấy hash code của instance trong C#

Để lấy hash code của một instance trong C#, ta dùng phương thức GetHashCode(). Dưới đây là các ví dụ.

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());
    }
}

Kết quả

Type = System.String
Hash Code = 9144789

Ví dụ 2

using System;

public class Demo {
    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("GetEnumNames() = " + 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);
        }
    }
}

Kết quả

Hash code = 44757566
GetEnumNames() = System.String[]
Enum Underlying type = System.Int32
Values = Demo+Vehicle[]
Listing constants ..
Car Bus Bike Airplane