ReferenceEquals работает неправильно со строками

Почему в этой ситуацииReferenceEquals метод объекта ведет себя иначе?

string a= "fg";
string b= "fg";
Console.WriteLine(object.ReferenceEquals(a, b));

Так что в этой ситуации получается результатtrue, В случае, он сравнивает значения моих строк, а не ссылки. Но когда я пишу что-то вроде:

StringBuilder c = new StringBuilder("fg");
string d = c.ToString();
Console.WriteLine(object.ReferenceEquals(a, d));

В этом случае он работает нормально, и результатfalseпотому что он сравнивает ссылки моих объектов.

Ответы на вопрос(4)

Ваш ответ на вопрос