Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में Type.GetHashCode() मेथड

विवरण

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() थ्रेड-सेफ है।
  1. - C# में Type.GetTypeFromHandle() मेथड

    C# में Type.GetTypeFromHandle() मेथड का उपयोग निर्दिष्ट टाइप हैंडल द्वारा संदर्भित टाइप प्राप्त करने के लिए किया जाता है। सिंटैक्स निम्नलिखित सिंटैक्स है - public static Type GetTypeFromHandle (RuntimeTypeHandle handle); यहां, हैंडल पैरामीटर वह ऑब्जेक्ट है जो टाइप को संदर्भित करता है। उदाहरण आइए Ty

  1. - C# में CharEnumerator.GetHashCode() मेथड

    C# में CharEnumerator.GetHashCode() मेथड वर्तमान ऑब्जेक्ट के लिए एक हैश कोड लौटाता है। सिंटैक्स public virtual int GetHashCode (); आइए CharEnumerator.GetHashCode() मेथड को लागू करने का एक उदाहरण देखते हैं - उदाहरण using System; public class Demo { public static void Main(){ string st

  1. - C# में Type.GetArrayRank() मेथड

    C# में Type.GetArrayRank() मेथड एक सरणी में आयामों की संख्या प्राप्त करता है। सिंटैक्स public virtual int GetArrayRank (); आइए Type.GetArrayRank() मेथड को लागू करने का एक उदाहरण देखते हैं - उदाहरण using System; public class Demo { public static void Main(string[] args) { Type type =