Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เมธอด Type.GetHashCode() ใน C#

เมธอด Type.GetHashCode() ใน C# ใช้คืนค่ารหัสแฮช (hash code) สำหรับอินสแตนซ์นี้

ไวยากรณ์

public override int GetHashCode ();

ตัวอย่าง

ตัวอย่างที่ 1: ดึง HashCode ของอาร์เรย์สตริง

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

ผลลัพธ์

Type = System.String 
Hash Code = 9144789

ตัวอย่างเพิ่มเติม

ตัวอย่างที่ 2: ดึง HashCode ของ enum Vehicle

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

ผลลัพธ์

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