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

Hfo*_*ham 2 c# string

在C#中

  string str1 = null+false;
Run Code Online (Sandbox Code Playgroud)

str1 将会 "False"

   string str2 =null+"false";
Run Code Online (Sandbox Code Playgroud)

str2 将会 "false"

为什么str1不同str2

Jon*_*n B 8

"false"是一个字符串.False是一个布尔.在ToString()对布尔函数False返回"False".


Jos*_*hua 6

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

如果要比较字符串但忽略它们的情况,则应使用其中一个String.Compare重载.


ie.*_*ie. 5

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


Ser*_*rvy 5

因为false.ToString()退货"False"而不是"false".它只是语言选择具有该布尔值返回的内容.