为什么会有人写
string someString = "" + Convert.ToChar(0);
而不是
string someString = "0";
我在一些与智能卡相关的代码中看到了这一点。从技术角度来看,是否有特殊原因?
答案 0 :(得分:6)
Convert.ToChar(0)
与'0'
不同。它与'\0'
(null character或null终止符)相同。为什么要使用Convert
代替'\0'
?我认为没有理由。
在角色转换为"" +
而不是string
之前使用char
。我更喜欢使用.ToString()
,因为这清楚地说明了实际发生的事情。但是转换到这里绝对没用,因为你可以简单地一次构造一个string
。所以结论,代码可以写得最好:
"\0"
答案 1 :(得分:1)
"0"
是一个字符串文字,由数字零和嵌入的字符串终止符组成。
我认为 "" + convertToChar(0)
由于""
而有一个字符串终止符,而convertToChar(0)
有另一个字符串终结符。所以它仍然是一个零长度字符串。
将后者缩写为"\0"
更为常规。