Разница между оператором == и методом Equals () в C #?

В чем разница между == и Equals () с примером? Я знаю, что == используется для сравнения оператора, а метод Equals () используется для сравнения содержимого строки. Поэтому я попробовал

// 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

Как это так? Оба являются разными ссылками на объекты. Предположим, мы считаем, что это справочные. Но я пытался использовать вот так

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

Я получаю ошибку времени компиляции, из-за которой не удается преобразовать строку в char

17
задан Groo 6 March 2012 в 08:39
поделиться