Différence entre == opérateur et méthode égale en C #?

Différence entre == opérateur et méthode égale en C #?
C # est un langage de programmation orienté objet largement utilisé qui permet la création d'applications de bureau, Web et mobile. L'un des concepts fondamentaux de C # est la comparaison des valeurs, qui consiste à déterminer si deux valeurs sont égales en utilisant des opérateurs et des procédures.

En C #, il existe deux options principales pour comparer deux valeurs - le "==" opérateur et le "Équivaut à()" méthode. Cependant, ces deux alternatives diffèrent dans leur mise en œuvre et leur utilisation.

L'opérateur d'égalité ==

Pour déterminer si deux variables sont égales, utilisez le Opérateur «==». Il offre une comparaison plus sophistiquée car il semble voir si deux éléments partagent la même référence ainsi que la même valeur. Cela signifie que même si deux objets peuvent avoir la même valeur, ils ne seront pas traités également s'ils ont des références distinctes.

En C #, le Opérateur «==» est un opérateur intégré qui peut être utilisé pour comparer les types de référence et les types primitifs (tels que INT, Double, Float et Bool). Les cours et les structures peuvent également surcharger l'opérateur pour offrir une logique de comparaison unique en fonction de l'état interne des objets.

La méthode equals ()

Le "Équivaut à()" La méthode en C # est une méthode virtuelle qui compare deux objets du même type pour déterminer s'ils ont la même valeur ou le même contenu. Cette méthode peut être utilisée pour comparer deux chaînes avec la même valeur qui sont stockées dans des emplacements de mémoire différents.

La méthode «equals ()» en C #, par défaut, contraste les références d'objets par opposition à leurs valeurs. Cela implique que deux objets avec les mêmes valeurs mais des références distinctes ne seraient pas considérées comme égales par défaut. Pour comparer les objets en fonction de leurs valeurs, le "Équivaut à()" la méthode doit être remplacée dans la classe.

Comment utiliser == opérateur et égal () méthode en C #

Voici un exemple de C # qui se différencie clairement "==" Opérateur et Équivaut à() Méthode:

Utilisation du système;
Espace de noms ComparisOnexample
Classe Program
statique void main (String [] args)
String str1 = "LinuxHint";
String str2 = str1;
Console.WriteLine ("Utilisation d'égals () Méthode: 0", str1.Égaux (str2));
Console.WriteLine ("using == opérateur: 0", str1 == str2);
Console.ReadKey ();


Dans le code ci-dessus, deux chaînes sont créées, STR1 et STR2, et STR2 reçoit l'attribution d'être une référence à STR1. L'égalité des deux chaînes est ensuite vérifiée en utilisant le Équivaut à() méthode et le Opérateur «==», et les résultats sont sortis. Étant donné que les deux variables correspondent au même objet de chaîne en mémoire, les deux méthodes renvoient vrai.

Sortir

Le Opérateur «==» et le Équivaut à() fonction traite les valeurs nulles différemment. Si les deux variables sont nulles, le Opérateur «==» peut être utilisé pour comparer les valeurs nulles et renvoyer vrai. Mais, si l'une ou l'autre variable est nul, le Méthode égaux () peut élever un NullReferenceException. Cela signifie que afin d'éviter l'exception lors de l'utilisation du Méthode égaux (), vous devez vous assurer qu'aucune variable n'est nul ou effectuer un contrôle nul.

Conclusion

La principale différence entre le Opérateur «==» et le Fonction égale () en C # est leur logique de comparaison. Le Fonction égale () compare la valeur de deux variables ou objets, tandis que le Opérateur «==» compare la valeur et la référence de deux. De plus, alors que le Opérateur «==» est un opérateur intégré qui ne peut pas être remplacé, le Fonction égale () permet aux classes individuelles d'offrir une logique de comparaison spécifique. Enfin, ils diffèrent dans la façon dont ils traitent les valeurs nulles; le Méthode égaux () soulève une exception si l'une des variables est nul.