为什么null + false与null +“false”不同?

时间:2012-12-17 18:33:49

标签: c# string

在C#中

  string str1 = null+false;

str1将为"False"

   string str2 =null+"false";

str2将为"false"

为什么str1str2不同?

5 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:6)

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

如果你想比较字符串而忽略它们的情况,你应该使用String.Compare重载之一。

答案 2 :(得分:5)

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

答案 3 :(得分:5)

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

答案 4 :(得分:2)

一个是纯String数据类型。你得到你写的东西。 其他是boolean数据类型的值。

他们是两种不同的类型。

false.ToString()会向您返回"False"