これは Java と C# に関する質問です。Object Identity(==) は、2 つのオブジェクトが同じ場所を参照しているかどうかをテストし、Obejct Equality(Equals メソッド) は、2 つの異なる (同一ではない) オブジェクトが同じ値を持っているかどうかをテストします。しかし、文字列オブジェクトの場合、Object Identity とオブジェクトの等価性は同じです。たとえば、以下の if ステートメントの 2 つのブール式が true を返す場合
string a="123";
string b="123";
if(a==b)
if(a.Equals(b))
なんでそうなの??この設計上の決定の背後にある合理的な理由は何ですか?