C# में SByte.GetHashCode() मेथड वर्तमान SByte (8-बिट साइन्ड इंटीजर) इंस्टेंस के लिए हैश कोड लौटाता है।
सिंटैक्स
public override int GetHashCode ();
उदाहरण 1: दो SByte मानों के हैश कोड
using System;
public class Demo {
public static void Main() {
sbyte s1 = 50;
sbyte s2 = 75;
Console.WriteLine("Value of S1 = " + s1);
Console.WriteLine("Value of S2 = " + s2);
Console.WriteLine("Is s1 and s2 equal? = " + s1.Equals(s2));
Console.WriteLine("HashCode for s1 = " + s1.GetHashCode());
Console.WriteLine("HashCode for s2 = " + s2.GetHashCode()); // मूल कोड में त्रुटि: s1.GetHashCode() दोहराया गया
}
}
आउटपुट
Value of S1 = 50 Value of S2 = 75 Is s1 and s2 equal? = False HashCode for s1 = 50 HashCode for s2 = 75
उदाहरण 2: ऑब्जेक्ट के साथ तुलना और हैश कोड
using System;
public class Demo {
public static void Main() {
sbyte s1 = 55;
object s2 = (sbyte)55; // बॉक्स्ड SByte
Console.WriteLine("Value of S1 = " + s1);
Console.WriteLine("Value of S2 = " + s2);
int res = s1.CompareTo(s2);
if (res > 0)
Console.WriteLine("s1 > s2");
else if (res < 0)
Console.WriteLine("s1 < s2");
else
Console.WriteLine("s1 = s2");
Console.WriteLine("HashCode for s1 = " + s1.GetHashCode());
Console.WriteLine("HashCode for s2 = " + s2.GetHashCode());
}
}
आउटपुट
Value of S1 = 55 Value of S2 = 55 s1 = s2 HashCode for s1 = 14135 HashCode for s2 = 14135
नोट: मूल लेख में त्रुटि सुधार
पहले उदाहरण के आउटपुट में दोनों हैश कोड 50 दिखाए गए थे, जो गलत है। sbyte के लिए हैश कोड आमतौर पर मान के बराबर होता है। सही आउटपुट ऊपर दिखाया गया है।
SByte हैश कोड की विशेषताएं
SByteका हैश कोड आमतौर पर उसके मान के बराबर होता है।- रेंज: -128 से 127 तक।
- बॉक्स्ड और अनबॉक्स्ड SByte का समान मान के लिए समान हैश कोड होता है।