为什么有人会写字符串someString =“”+ Convert.toChar(0)而不是someString =“0”

时间:2015-11-26 14:38:53

标签: c#

为什么会有人写

string someString = "" + Convert.ToChar(0);

而不是

string someString = "0";

我在一些与智能卡相关的代码中看到了这一点。从技术角度来看,是否有特殊原因?

2 个答案:

答案 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"更为常规。