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

C# में Single.GetHashCode() मेथड और उदाहरण


C# में Single.GetHashCode() मेथड वर्तमान Single (फ्लोट) इंस्टेंस के लिए हैश कोड लौटाता है। हैश कोड का उपयोग हैश-आधारित संग्रहों (जैसे HashSet, Dictionary) में त्वरित लुकअप के लिए किया जाता है।

सिंटैक्स

public override int GetHashCode ();

उदाहरण 1: दो फ्लोट मानों के हैश कोड की तुलना

using System; 

public class Demo { 
    public static void Main() { 
        float f1 = 40.2f;
        object f2 = 50.5f; // बॉक्स्ड फ्लोट
        
        Console.WriteLine("Value1 = " + f1);
        Console.WriteLine("HashCode of Value1 = " + f1.GetHashCode());
        Console.WriteLine("Value2 = " + f2);
        Console.WriteLine("HashCode of Value2 = " + f2.GetHashCode());
        Console.WriteLine("Are both values equal? = " + f1.Equals(f2));
    } 
}

आउटपुट

Value1 = 40.2
HashCode of Value1 = 1109445837
Value2 = 50.5
HashCode of Value2 = 1112145920
Are both values equal? = False

उदाहरण 2: CompareTo के साथ हैश कोड

using System; 

public class Demo { 
    public static void Main() { 
        float f1 = 15.3f;
        float f2 = 35.9f;
        
        Console.WriteLine("Value1 = " + f1);
        Console.WriteLine("Hashcode for Value1 = " + f1.GetHashCode());
        Console.WriteLine("Value2 = " + f2);
        Console.WriteLine("Hashcode for Value2 = " + f2.GetHashCode());
        Console.WriteLine("Is f1 and f2 equal? (CompareTo) = " + f1.CompareTo(f2));
    } 
}

आउटपुट

Value1 = 15.3
Hashcode for Value1 = 1098173645
Value2 = 35.9
Hashcode for Value2 = 1108318618
Is f1 and f2 equal? (CompareTo) = -1

हैश कोड के बारे में महत्वपूर्ण तथ्य

  • समान मानों के लिए हैश कोड समान होता है (लेकिन विपरीत हमेशा सच नहीं)।
  • NaN का हैश कोड हमेशा स्थिर होता है।
  • हैश कोड का उपयोग Dictionary और HashSet में बाल्ट निर्धारित करने के लिए किया जाता है।
  • फ्लोटिंग-पॉइंट मानों के लिए, बिट पैटर्न सीधे हैश कोड को प्रभावित करता है।

सावधानी

फ्लोटिंग-पॉइंट नंबरों को हैश-आधारित संग्रहों में कुंजी के रूप में उपयोग करने से बचें क्योंकि परिशुद्धता के मुद्दों के कारण अप्रत्याशित व्यवहार हो सकता है।

  1. - C# में Int16.GetHashCode() मेथड उदाहरण सहित

    C# में Int16.GetHashCode() मेथड का उपयोग वर्तमान इंस्टेंस के लिए हैश कोड लौटाने के लिए किया जाता है।सिंटैक्सनिम्नलिखित सिंटैक्स है:public override int GetHashCode ();उदाहरणआइए अब Int16.GetHashCode() मेथड को लागू करने का एक उदाहरण देखते हैं:using System; public class Demo { public static void M

  1. - C# में UInt64.GetHashCode() मेथड - उदाहरणों के साथ

    C# में UInt64.GetHashCode() मेथड वर्तमान UInt64 इंस्टेंस के लिए हैश कोड लौटाता है। हैश कोड का उपयोग हैश-आधारित संग्रह (जैसे HashSet, Dictionary) में त्वरित लुकअप के लिए किया जाता है। सिंटैक्स public override int GetHashCode (); उदाहरण 1: सामान्य मान और MinValue using System; public class Demo {

  1. - C# में UInt16.GetHashCode() मेथड उदाहरण सहित

    C# में UInt16.GetHashCode() मेथड का उपयोग वर्तमान UInt16 इंस्टेंस के लिए HashCode प्राप्त करने के लिए किया जाता है। सिंटैक्स निम्नलिखित सिंटैक्स है - public override int GetHashCode (); उदाहरण आइए UInt16.GetHashCode() मेथड को लागू करने का एक उदाहरण देखते हैं - using System; public class Demo {