C#で文字列型同士の参照の比較(同一のインスタンスであるかどうかの比較)を行うには、いったんobject
にキャストして等価演算子==
で比較するか、Object.ReferenceEqualsメソッドを使います。
等価演算子による文字列同士の参照の比較
using System;
class Sample {
static void Main()
{
var s1 = "foo";
var s2 = "bar";
Console.WriteLine((object)s1 == (object)s2);
Console.WriteLine(Object.ReferenceEquals(s1, s2));
s1 = s2;
Console.WriteLine((object)s1 == (object)s2);
Console.WriteLine(Object.ReferenceEquals(s1, s2));
}
}
実行結果
False False True True