【发布时间】:2018-10-30 06:58:19
【问题描述】:
在 C# 中;我知道数字与符号不同......据我了解,字节转换为 int 是可能的,因为 int 类型可以读取所有字节二进制编译。但是,为什么不能以同样的方式将 char 类型轻松地转换为字符串呢?示例:
char c = 'a';
string asdf = c; <== why do I have to use a ToString-method here?
【问题讨论】:
-
转换取决于你想要的编码(ASCII、UTF8、UTF16等)。
-
@Alexander 这个副本如何回答这个问题?
-
这是可能的,但它不存在,因为 char 和 string 从根本上如此不同,以至于强调它们的差异更为重要。开发人员很容易混淆这两者......当我多年前第一次开始时,我认为它们是相同的,如果不是因为关注点的具体分离,以后可能会更加困惑。此外,字符串是不可变的,因此 = 会有一个重载,对于 = char 和其他类型也有完全不同的逻辑。
-
@Marker 否,
char和string在 .NET 中都是 UTF16。