【发布时间】:2013-07-15 03:09:00
【问题描述】:
没有空的char字面量有什么具体原因吗?
最接近我的想法的是,'' 是 '\0' 空字符。
在C++ 中,char 由int 表示,这意味着空字符直接指向整数值 0,在 C++ 中“与 null 相同”。
提出这个问题的实际部分:
在一个类中,我想将 char 值表示为枚举属性。
不偏不倚,我尝试用'' 初始化一个实例,这当然行不通。
但是不应该有char 空值吗?不要与string.Empty 混淆,
更多的是null reference 的性质。
所以问题是:为什么没有空字符?
-编辑-
看到this question 问题可以在以下方面得到加强: 一个空的 char 值可以连接字符串和字符,而无需 破坏字符串。那不是更可取吗?或者应该这样 “按预期工作”?
【问题讨论】:
-
没有重复,因为问题在 Char 类上,我想知道它背后的设计决策。
-
char 是原始类型。 null char 没有比 null int 更有意义
-
我已经看到了那个评论,那么
int?呢?这也没有意义吗?这显然是一个设计决定,当然有明确的原因。一个空字符将是......空的。 string.Empty.中所有字符的总和。
标签: c# char language-design