C# में किसी स्ट्रिंग का हैश कोड प्राप्त करने के लिए, हम GetHashCode() मेथड का उपयोग करते हैं। यह मेथड स्ट्रिंग के लिए एक पूर्णांक हैश कोड लौटाता है जिसका उपयोग हैश टेबल और डिक्शनरी जैसे डेटा संरचनाओं में त्वरित लुकअप के लिए किया जाता है। समान स्ट्रिंग्स का समान हैश कोड होता है (हालांकि हैश कोड टकराव संभव है)।
उदाहरण 1: दो अलग-अलग स्ट्रिंग्स के हैश कोड
using System;
public class Demo
{
public static void Main(String[] args)
{
string str1 = "Akon";
string str2 = "Eminem";
Console.WriteLine("स्ट्रिंग 1 = " + str1);
Console.WriteLine("स्ट्रिंग 1 का हैशकोड = " + str1.GetHashCode());
Console.WriteLine("स्ट्रिंग 2 = " + str2);
Console.WriteLine("स्ट्रिंग 2 का हैशकोड = " + str2.GetHashCode());
Console.WriteLine("स्ट्रिंग 1, स्ट्रिंग 2 के बराबर है: {0}", str1.Equals(str2));
}
}
आउटपुट
स्ट्रिंग 1 = Akon स्ट्रिंग 1 का हैशकोड = 416613838 स्ट्रिंग 2 = Eminem स्ट्रिंग 2 का हैशकोड = 40371907 स्ट्रिंग 1, स्ट्रिंग 2 के बराबर है: False
उदाहरण 2: समान स्ट्रिंग्स के समान हैश कोड
using System;
public class Demo
{
public static void Main(String[] args)
{
string str1 = "Imagine Dragons";
string str2 = "Imagine Dragons";
Console.WriteLine("स्ट्रिंग 1 = " + str1);
Console.WriteLine("स्ट्रिंग 1 का हैशकोड = " + str1.GetHashCode());
Console.WriteLine("स्ट्रिंग 2 = " + str2);
Console.WriteLine("स्ट्रिंग 2 का हैशकोड = " + str2.GetHashCode());
Console.WriteLine("स्ट्रिंग 1, स्ट्रिंग 2 के बराबर है: {0}", str1.Equals(str2));
}
}
आउटपुट
स्ट्रिंग 1 = Imagine Dragons स्ट्रिंग 1 का हैशकोड = -1546868095 स्ट्रिंग 2 = Imagine Dragons स्ट्रिंग 2 का हैशकोड = -1546868095 स्ट्रिंग 1, स्ट्रिंग 2 के बराबर है: True
महत्वपूर्ण नोट्स:
- समान स्ट्रिंग्स का हमेशा समान हैश कोड होता है (एक ही एप्लिकेशन डोमेन में)
- हैश कोड नकारात्मक हो सकता है
- हैश कोड का उपयोग
DictionaryऔरHashtableमें त्वरित लुकअप के लिए किया जाता है - हैश कोड टकराव संभव है - अलग-अलग स्ट्रिंग्स का समान हैश कोड हो सकता है
Equals()मेथड वास्तविक सामग्री समानता की जांच करता है