相关疑难解决方法(0)

在C#中,为什么String是一个行为类似值的引用类型?

String是一种引用类型,即使它具有值类型的大多数特性,例如是不可变的并且具有==重载以比较文本而不是确保它们引用相同的对象.

为什么字符串不是一个值类型呢?

c# string clr value-type reference-type

348
推荐指数
8
解决办法
16万
查看次数

价值还是参考比较?

这个网站上,我读到了以下代码,我认为这是错误的:

string s = "Geeks";
 
Type a1 = typeof(string);
 
Type a2 = s.GetType();
 
Console.WriteLine(a1 == a2);

//output: True
Run Code Online (Sandbox Code Playgroud)

现在,如果我错了,请纠正我,因为我是 C# 新手。

  1. “Geeks”是一个字符串对象。
  2. typeof(string) 返回一个 Type 对象。
  3. s.GetType() 返回一个 Type 对象。
  4. a1和a2是数据类型Type的引用类型变量。

因此 a1==a2 应该是引用比较并且应该返回 false,因为有两个不同的 Type 对象。

c#

1
推荐指数
1
解决办法
60
查看次数

标签 统计

c# ×2

clr ×1

reference-type ×1

string ×1

value-type ×1