विवरण
Type.GetHashCode() मेथड वर्तमान Type इंस्टेंस के लिए हैश कोड लौटाता है। यह हैश कोड हैश टेबल्स और डिक्शनरीज़ में त्वरित लुकअप के लिए उपयोग किया जाता है। Type ऑब्जेक्ट्स के लिए, हैश कोड आमतौर पर प्रकार के मेटाडेटा टोकन या अन्य आंतरिक पहचानकर्ता से प्राप्त होता है।
सिंटैक्स
public override int GetHashCode();
उदाहरण 1: ऐरे प्रकार का हैश कोड
using System;
public class Demo {
public static void Main() {
string[] arr = { "tom", "amit", "kevin", "katie" };
Type t1 = arr.GetType(); // System.String[]
Type t2 = t1.GetElementType(); // System.String
Console.WriteLine("प्रकार = " + t2.ToString());
Console.WriteLine("हैश कोड = " + t1.GetHashCode());
}
}
आउटपुट
प्रकार = System.String
हैश कोड = 9144789
उदाहरण 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("हैश कोड = " + type.GetHashCode());
// अतिरिक्त एनम जानकारी
string[] str = type.GetEnumNames();
Console.WriteLine("GetEnumNames() = " + str);
Type type2 = type.GetEnumUnderlyingType();
Console.Write("एनम अंतर्निहित प्रकार = " + type2);
Array arrObj = type.GetEnumValues();
Console.Write("मान = " + arrObj);
Console.WriteLine("\nकॉन्स्टेंट्स सूचीबद्ध...");
for (int i = 0; i < str.Length; i++)
Console.Write("{0} ", str[i]);
}
catch (ArgumentException e) {
Console.WriteLine("एनम नहीं!");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
आउटपुट
हैश कोड = 44757566
GetEnumNames() = System.String[]
एनम अंतर्निहित प्रकार = System.Int32
मान = Demo+Vehicle[]
कॉन्स्टेंट्स सूचीबद्ध...
Car Bus Bike Airplane
महत्वपूर्ण नोट्स
- एक ही रनटाइम में समान प्रकार के लिए हैश कोड समान होता है।
- अलग-अलग एप्लिकेशन डोमेन या रन में हैश कोड भिन्न हो सकते हैं।
- हैश कोड का उपयोग स्थायी पहचानकर्ता के रूप में न करें।
Typeऑब्जेक्ट्स के लिएGetHashCode()थ्रेड-सेफ है।