Diferença entre == Operador e Método igual a C#?

Diferença entre == Operador e Método igual a C#?
C# é uma linguagem de programação orientada a objetos amplamente usada que permite a criação de aplicativos de desktop, web e móveis. Um dos conceitos fundamentais em C# é a comparação de valores, que envolve determinar se dois valores são iguais usando operadores e procedimentos.

Em C#, existem duas opções principais para comparar dois valores - o "==" operador e o "É igual a()" método. No entanto, essas duas alternativas diferem em sua implementação e uso.

O operador da igualdade ==

Para determinar se duas variáveis ​​são iguais, use o Operador "==". Ele oferece uma comparação mais sofisticada, porque parece ver se dois itens compartilham a mesma referência e o mesmo valor. Isso significa que, mesmo que dois objetos possam ter o mesmo valor, eles não serão tratados igualmente se tiverem referências distintas.

Em C#, o Operador "==" é um operador interno que pode ser usado para comparar tipos de referência e tipos primitivos (como int, dupla, flutuação e bool). Classes e estruturas também podem sobrecarregar o operador para oferecer lógica de comparação exclusiva com base no estado interno dos objetos.

O método iguals ()

O "É igual a()" O método em C# é um método virtual que compara dois objetos do mesmo tipo para determinar se eles têm o mesmo valor ou conteúdo. Este método pode ser usado para comparar duas seqüências com o mesmo valor que são armazenadas em diferentes locais de memória.

O método "Equals ()" em C#, por padrão, contrasta referências de objeto em oposição aos seus valores. Isso implica que dois objetos com os mesmos valores, mas referências distintas não seriam consideradas iguais por padrão. Para comparar objetos com base em seus valores, o "É igual a()" o método deve ser substituído na classe.

Como usar == Operador e Equals () Método em C#

Aqui está um exemplo em C# que claramente diferencia "==" Operador e É igual a() Método:

usando o sistema;
namespace ComparisOnexample
programa de classe
estático void main (string [] args)
string str1 = "linuxhint";
string str2 = str1;
Console.WriteLine ("Usando o método Equals (): 0", str1.Igual a (str2));
Console.WriteLine ("Usando == Operador: 0", str1 == str2);
Console.Chave de leitura();


No código acima, duas strings são criadas, STR1 e STR2, e STR2 recebe a atribuição de ser uma referência a STR1. A igualdade de ambas as cordas é então verificada usando o É igual a() método e o Operador "==", e os resultados são emitidos. Como ambas as variáveis ​​correspondem ao mesmo objeto String na memória, ambos os métodos retornam true.

Saída

O Operador "==" e a É igual a() função Trate os valores nulos de maneira diferente. Se ambas as variáveis ​​são nulas, o Operador "==" pode ser usado para comparar valores nulos e retornar verdadeiro. Mas, se qualquer uma variável for nula, o Método igual () pode aumentar um Exceção de Referência Nula. Isso significa que, para evitar a exceção, usando o Método igual (), Você deve garantir que nenhuma variável seja nula ou execute uma verificação nula.

Conclusão

A principal diferença entre o Operador "==" e a Função igual () em C# é a lógica de comparação deles. O Função igual () compara o valor de duas variáveis ​​ou objetos, enquanto o Operador "==" compara o valor e a referência de dois. Além disso, enquanto o Operador "==" é um operador embutido que não pode ser substituído, o Função igual () permite que classes individuais ofereçam lógica de comparação específica. Finalmente, eles diferem na maneira como tratam os valores nulos; o Método igual () levanta uma exceção se alguma das variáveis ​​forem nulas.