C # Comparaison des objets: comprendre la différence entre les opérateurs égaux et les méthodes equals ()
En C #, la comparaison égale est la partie clé de la programmation. Deux méthodes d'objets égaux couramment utilisés sont les symboles de calcul égaux (== et! =) Et les méthodes equals (). Cependant, la compréhension des différences subtiles de ces deux méthodes est essentielle pour éviter les accidents.
Symboles informatiques égaux (== et! =)
Computing égal (== et! =) Le type de valeur d'exécution est égal à la comparaison. Pour les types de référence (tels que la chaîne, les objets, etc.), ils sont comparés aux références d'objet, et non au contenu réel de l'objet. Cela signifie que si les deux variables de référence pointent vers la même instance d'objet, == reviendra True ,! = Retourne False.
Dans votre exemple, vous comparez les deux objets de chaîne:
Parce que l'objet String est immuable, ils sont considérés comme un type de valeur par défaut. Par conséquent, == La comparaison de l'opérateur est la valeur de la chaîne, qui n'est pas égale dans cet exemple. Par conséquent, les conditions seront évaluées comme fausses.
<code class="language-csharp">if (((ListBoxItem)lstBaseMenu.SelectedItem).Content == "Energy Attack") { // 执行代码 }</code>
égal à () méthodeLa méthode
equals () est une méthode virtuelle. Contrairement aux opérateurs égaux, la méthode equals () compare le contenu réel de l'objet, quelles que soient leurs citations. Pour la chaîne, la méthode equals () compare la séquence de caractères de la chaîne. Parce que votre situation consiste à comparer les mots de chaîne à deux caractères, la méthode equals () renvoie true car la séquence de caractères est la même.
Résumé
Le choix d'utiliser des opérateurs égaux et des méthodes equals () dépend de scènes spécifiques et de comportements nécessaires. D'une manière générale, == Le symbole informatique doit être utilisé pour une comparaison égale, et la méthode equals () doit être utilisée pour référence à la comparaison égale.<code class="language-csharp">if (((ListBoxItem)lstBaseMenu.SelectedItem).Content.Equals("Energy Attack")) { // 执行代码 }</code>Copier après la connexion
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!