Това е въпрос за Java и C#. Всички знаем, че Object Identity(==) тества дали два обекта се отнасят за едно и също местоположение, а Obejct Equality(Equals method) тества дали два различни (неидентични) обекта имат една и съща стойност. Но в случай на низов обект Object Identity и Равенството на обектите е същото. Например по-долу два булеви израза в операторите if връщат true
string a="123";
string b="123";
if(a==b)
if(a.Equals(b))
Защо е така?? Каква е рационалната основа зад това дизайнерско решение?