为什么这段代码打印错误?
class Program
{
public static void OpTest<T>(T s, T t) where T : class
{
Console.WriteLine(s == t);
}
static void Main()
{
string s1 = "string";
System.Text.StringBuilder sb = new System.Text.StringBuilder(s1);
string s2 = sb.ToString();
OpTest(s1, s2);
}
}
Run Code Online (Sandbox Code Playgroud)
我是否正确理解,相比之下,它们不是作为字符串进行比较,而是作为对象进行比较,这就是为什么不比较它们的值,而是它们指向的地址?