此方法用于返回此实例的哈希码。哈希码是一个数字值,用于在基于哈希的集合中插入和标识对象。的GetHashCode
方法为需要快速检查对象相等性的算法提供此哈希代码。
用法:
public virtual int GetHashCode ();
返回值:此方法返回当前对象的32位带符号整数哈希码。
以下示例程序旨在说明Object.GetHashCode()方法的使用:
示例1:
// C# program to demonstrate
// Object.GetHashCode() Method
using System;
class GFG {
// Main Method
public static void Main()
{
// declaring an object
Object obj = new Object();
// taking Type type and assigning
// the value as type of above
// defined types using GetType
// method
Type t = obj.GetType();
// Display type and hash code
Console.WriteLine("Type is :{0}", t);
Console.WriteLine("Hash Code is :{0}",
t.GetHashCode());
}
}
输出:
Type is :System.Object Hash Code is :37162120
示例2:
// C# program to demonstrate
// Object.GetHashCode() Method
using System;
public class Author {
public string f_Name;
public string l_Name;
public Author(string f_Name,
string l_Name)
{
this.f_Name = f_Name;
this.l_Name = l_Name;
}
public void Show()
{
Console.WriteLine("first Name : "
+ f_Name);
Console.WriteLine("last Name : "
+ l_Name);
}
}
// Driver Class
class GFG {
// Main method
public static void Main()
{
// Creating and initializing
// the object of Author class
Author aobj = new Author("Kirti", "Mangal");
Console.WriteLine("Author details:");
aobj.Show();
// Get the Hash Code of aobj object
// Using GetHashCode() method
Console.WriteLine("The hash code of object is: {0}",
aobj.GetHashCode());
}
}
输出:
Author details: first Name : Kirti last Name : Mangal The hash code of object is: -751588944
重要事项:
- 返回相等的哈希码的两个对象意味着对象相等,但反之则不成立。意思是,相等的哈希码并不意味着对象相等,因为不同的(不相等)对象可以具有相同的哈希码。
- .NET Framework不保证GetHashCode方法的默认实现,并且此方法返回的值在.NET Framework版本和平台(例如32位和64位平台)之间可能有所不同。
- 哈希码不是永久值,因此请勿序列化,将哈希值存储在数据库中等。
- 不要测试哈希码是否相等,以确定两个对象是否相等。
参考:https://docs.microsoft.com/en-us/dotnet/api/system.object.gethashcode?view=netframework-4.7.2
相关用法
- C# MathF.Exp()用法及代码示例
- C# MathF.Cos()用法及代码示例
- C# MathF.Tan()用法及代码示例
- C# MathF.Abs()用法及代码示例
- C# MathF.Min()用法及代码示例
- C# MathF.Sin()用法及代码示例
- C# MathF.Pow()用法及代码示例
- C# MathF.Log()用法及代码示例
- C# MathF.Max()用法及代码示例
- C# MathF.Cbrt()用法及代码示例
- C# Char.GetTypeCode()用法及代码示例
- C# Char.GetHashCode()用法及代码示例
- C# MathF.Atan()用法及代码示例
- C# BitArray.RightShift()用法及代码示例
- C# BitArray.LeftShift()用法及代码示例
注:本文由纯净天空筛选整理自Kirti_Mangal大神的英文原创作品 C# | Object.GetHashCode() Method with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。