Este método se utiliza para devolver el código hash de esta instancia. Un código hash es un valor numérico que se utiliza para insertar e identificar un objeto en una colección basada en hash. El GetHashCode
método proporciona este código hash para algoritmos que necesitan verificaciones rápidas de igualdad de objetos.
Sintaxis:
public virtual int GetHashCode ();
Valor de retorno: este método devuelve un código hash de entero con signo de 32 bits para el objeto actual.
Los siguientes programas ilustran el uso del método Object.GetHashCode() :
Ejemplo 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
Ejemplo 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
Puntos importantes:
- Dos objetos que devuelven diferentes códigos hash significa que los objetos no son iguales, pero lo contrario no es cierto. Significa que los códigos hash iguales no implican igualdad de objetos, porque objetos diferentes (desiguales) pueden tener códigos hash idénticos.
- .NET Framework no garantiza la implementación predeterminada del método GetHashCode y el valor que devuelve este método puede diferir entre las versiones y plataformas de .NET Framework , como las plataformas de 32 y 64 bits.
- Un código hash no es un valor permanente, así que no serialice, almacene los valores hash en bases de datos, etc.
- No pruebe la igualdad de los códigos hash para determinar si dos objetos son iguales.
Referencia: https://docs.microsoft.com/en-us/dotnet/api/system.object.gethashcode?view=netframework-4.7.2
Publicación traducida automáticamente
Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA