C# で VALUE と REFERENCES を比較する方法はたくさんあることは知っていますが、VALUE または REFERENCE のいずれかを比較しようとすると、どの型が何を実行するのか、まだ少し混乱しています。
文字列の例:
string str = "hello";
string str2 = "hello";
if (str == str2)
{
Console.WriteLine("Something");
} // Is this a comparison of value?
if (str.Equals(str2))
{
Console.WriteLine("Something");
} // Is this a comparison of value?
string.ReferenceEquals(str, str2); // Comparison of reference (True)
Console.WriteLine((object)str1 == (object)str2); // Comparison of reference (True)