基本上在这里我想用一个例子来说明字符串是不可变的,所以我举了下面的例子,我知道 GetHashCode() 不返回地址但是我如何区分两个变量引用不同的内存位置?
在下面的代码中,我想要一个字符串变量的地址
string s = "hello";
Console.WriteLine(s.GetHashCode());
s = s + "User";
Console.WriteLine(s.GetHashCode());
但在 String Builder 的情况下 GetHashCode() 返回相同的值
StringBuilder sb = new StringBuilder();
sb.Append("hi");
Console.WriteLine(sb.GetHashCode());
sb.Append("hello");
Console.WriteLine(sb.GetHashCode());