为什么 null+false 与 null+ "false" 不同?



in C#

  string str1 = null+false;

str1将被"False"

   string str2 =null+"false";

str2将被"false"

为什么str1str2不同?

"false"是一个字符串。 False是一个布尔值。布尔值False上的ToString()函数返回"False"

它们是不同的,因为情况不同。如果您使用的是默认相等比较器,它将查找区分大小写的比较。

如果要比较字符串但忽略其大小写,则应使用String.Compare重载之一。

好吧,因为false.ToString()给你"False"

因为false.ToString()返回"False"而不是"false"。 这只是语言选择让布尔值返回的内容。

一个是纯粹String数据类型。你写什么就得到什么。"其他"是boolean数据类型的值。

它们是两种不同的类型。

false.ToString()回报你"False".

最新更新