La différence entre l'opérateur == et de la méthode Equals() en C#?

Quelle est la différence entre == et Equals() avec exemple? Je sais que == est utilisé pour comparer l'opérateur et Equals() méthode est utilisée pour comparer le contenu de la chaîne.J'ai donc essayé

//first example
string s1 = "a";
string s2 = "a";
Console.Write(a.Equals(s2)); //returns true, but if I assign "b" to s2,
                             //then result will be false

//second example
string s1 ="a";
string s2 ="a";
Console.Write(s1 == s2);     //returns true

Comment est-ce donc? Les deux sont différents des références d'objet. Supposons que nous considérons qu'il s'agit de référence. Mais j'ai essayé de l'utiliser comme ceci

string s1 = new string("ab");
string s2 = new string("ab");

J'obtiens erreur de compilation qui ne peut pas convertir en chaîne de caractères char

  • La méthode Equals() n'est pas seulement utilisé pour comparer le contenu d'une chaîne de caractères, il peut être utilisé pour comparer deux objets. Le string type en C# qui arrive à contenir une remplacer la méthode pour Equals() qui permettra de comparer leurs valeurs (ce fait est très mal expliqué dans un certain nombre d'articles qui suggèrent que Equals() est pour la comparaison de chaînes uniquement).
InformationsquelleAutor Jui Test | 2012-03-02