为什么没有空的字面值?

时间:2013-07-16 19:06:37

标签: c# char language-design

为什么没有空的char字面值有什么具体原因?

最接近我的想法的是,'''\0'空字符。

C++中,charint表示,这意味着空字符直接转到0整数值,该值在C ++中“与null相同”。

提出这个问题的实际部分:

在类中,我想将char值表示为枚举属性。 没有偏见我尝试使用''初始化一个实例,这当然不起作用。 但是不应该有char空值?不要与string.Empty混淆, 更多的是null reference的性质。

所以问题是:为什么没有空的字符?

-edit -

看到this question可以增强以下问题: 空char值可以在不使用的情况下连接字符串和字符 摧毁弦乐。这不是更好吗?或者应该这样 “按预期工作”?

2 个答案:

答案 0 :(得分:5)

根据定义,char的长度为一个字符。空的根本不适合账单。

不要在charstring的最大长度为1之间产生混淆。它们看起来很相似,但却是非常不同的野兽。

答案 1 :(得分:1)

提供稍微更具技术性的解释:在执行连接时,没有可用作identity element的字符。这与整数不同,其中0用作添加的标识元素。