Diferencia entre == Operador e igual al método en C#?

Diferencia entre == Operador e igual al método en C#?
C# es un lenguaje de programación orientado a objetos ampliamente utilizado que permite la creación de aplicaciones de escritorio, web y móviles. Uno de los conceptos fundamentales en C# es la comparación de valores, que implica determinar si dos valores son iguales utilizando operadores y procedimientos.

En C# hay dos opciones principales para comparar dos valores: el "==" operador y el "Equales ()" método. Sin embargo, estas dos alternativas difieren en su implementación y uso.

El operador de igualdad ==

Para determinar si dos variables son iguales, use el "==" operador. Ofrece una comparación más sofisticada porque parece ver si dos elementos comparten la misma referencia, así como el mismo valor. Esto significa que incluso si dos objetos pueden tener el mismo valor, no serán tratados por igual si tienen referencias distintas.

En c#, el "==" operador es un operador incorporado que se puede utilizar para comparar los tipos de referencia y los tipos primitivos (como INT, Double, Float y Bool). Las clases y las estructuras también pueden sobrecargar el operador para ofrecer una lógica de comparación única basada en el estado interno de los objetos.

El método igual ()

El "Equales ()" El método en C# es un método virtual que compara dos objetos del mismo tipo para determinar si tienen el mismo valor o contenido. Este método se puede utilizar para comparar dos cadenas con el mismo valor que se almacenan en diferentes ubicaciones de memoria.

El método "Equals ()" en C#, por defecto, contrasta las referencias del objeto en lugar de sus valores. Esto implica que dos objetos con los mismos valores, pero las referencias distintas no se considerarían iguales por defecto. Para comparar objetos en función de sus valores, el "Equales ()" El método debe ser anulado en la clase.

Cómo usar == Operador y igual () método en C#

Aquí hay un ejemplo en C# que claramente diferencia "==" Operador y Igual () Método:

usando el sistema;
espacio de nombres Comparisonexample
programa de clase
static void main (string [] args)
cadena str1 = "Linuxhint";
cadena str2 = str1;
Consola.WriteLine ("usando el método de igual (): 0", str1.Iguales (str2));
Consola.WriteLine ("Usando == Operador: 0", str1 == str2);
Consola.Leer la clave();


En el código anterior, se crean dos cadenas, STR1 y STR2, y STR2 recibe la asignación de ser una referencia a STR1. La igualdad de ambas cuerdas se verifica utilizando el Igual () método y el "==" operador, y los resultados son salidas. Dado que ambas variables corresponden al mismo objeto de cadena en la memoria, ambos métodos devuelven verdadero.

Producción

El "==" operador y el Igual () función tratar los valores nulos de manera diferente. Si ambas variables son nulas, el "==" operador se puede usar para comparar valores nulos y devolver verdadero. Pero, si alguna variable es nula, el Método igual () puede elevar un Excepcion de referencia nula. Esto significa que para evitar la excepción al usar el Método igual (), Debe asegurarse de que ninguna variable sea nula o realice un cheque nulo.

Conclusión

La diferencia clave entre el "==" operador y el Función igual () En C# es su lógica de comparación. El Función igual () compara el valor de dos variables u objetos, mientras que el "==" operador compara el valor y la referencia de dos. Además, mientras que el "==" operador es un operador incorporado que no se puede anular, el Función igual () permite que las clases individuales ofrezcan una lógica de comparación específica. Finalmente, difieren en cómo tratan los valores nulos; el Método igual () plantea una excepción si alguna de las variables es nula.