String是一种引用类型,即使它具有值类型的大多数特性,例如是不可变的并且具有==重载以比较文本而不是确保它们引用相同的对象.
为什么字符串不是一个值类型呢?
在这个网站上,我读到了以下代码,我认为这是错误的:
string s = "Geeks";
Type a1 = typeof(string);
Type a2 = s.GetType();
Console.WriteLine(a1 == a2);
//output: True
Run Code Online (Sandbox Code Playgroud)
现在,如果我错了,请纠正我,因为我是 C# 新手。
因此 a1==a2 应该是引用比较并且应该返回 false,因为有两个不同的 Type 对象。