C#中的Single.GetHashCode()方法用于返回此实例的哈希码。
语法如下-
public override int GetHashCode ();
现在让我们看一个例子-
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 the values equal? = "+f1.Equals(f2)); } }
输出结果
这将产生以下输出-
Value1 = 40.2 HashCode of Value1 = 1109445837 Value2 = 50.5 HashCode of Value2 = 1112145920 Are both the values equal? = False
现在让我们来看另一个示例-
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? = "+f1.CompareTo(f2)); } }
输出结果
这将产生以下输出-
Value1 = 15.3 Hashcode for Value1 = 1098173645 Value2 = 35.9 Hashcode for Value2 = 1108318618 Is f1 and f2 equal? = -1