परिचय
C# में Double.GetHashCode() मेथड डबल-प्रिसिजन फ्लोटिंग-पॉइंट संख्या के इस इंस्टेंस के लिए हैश कोड वापस करता है। हैश कोड हैश-आधारित संग्रहों (जैसे HashSet, Dictionary) में त्वरित लुकअप के लिए उपयोग किया जाता है।
सिंटैक्स
public override int GetHashCode();
उदाहरण 1: ऑब्जेक्ट के साथ तुलना
using System;
public class Demo {
public static void Main() {
double d1 = 150d;
object ob1 = 1 / 2; // इंटीजर डिवीजन = 0
Console.WriteLine("Double1 मान = " + d1);
Console.WriteLine("ऑब्जेक्ट मान = " + ob1);
Console.WriteLine("क्या दोनों मान समान हैं? = " + d1.Equals(ob1));
Console.WriteLine("Double1 मान का हैश कोड = {0}", d1.GetHashCode());
}
}
आउटपुट
Double1 मान = 150 ऑब्जेक्ट मान = 0 क्या दोनों मान समान हैं? = False Double1 मान का हैश कोड = 1080213504
उदाहरण 2: सरल मान
using System;
public class Demo {
public static void Main() {
double d = 10d;
Console.WriteLine("Double मान = " + d);
Console.WriteLine("Double मान का हैश कोड = {0}", d.GetHashCode());
}
}
आउटपुट
Double मान = 10 Double मान का हैश कोड = 1076101120
महत्वपूर्ण नोट्स
- समान मानों के समान हैश कोड होते हैं (लेकिन विपरीत हमेशा सत्य नहीं - हैश टकराव संभव)।
NaNका एक विशिष्ट हैश कोड होता है (Double.NaN.GetHashCode())।+0.0और-0.0समान माने जाते हैं लेकिन अलग-अलग हैश कोड हो सकते हैं।- हैश कोड एल्गोरिदम कार्यान्वयन-निर्भर है और .NET संस्करणों के बीच बदल सकता है।
- स्थिरता के लिए इस पर भरोसा न करें - सीरियलाइज़ेशन के लिए
ToString()का उपयोग करें।