为什么 Visual Studio 在将 int 转换为 char 时会在 int 的开头添加斜杠?
当我转换int 0
为 时char
,它会更改为\0
。为什么?我需要字符 0。
为什么 Visual Studio 在将 int 转换为 char 时会在 int 的开头添加斜杠?
当我转换int 0
为 时char
,它会更改为\0
。为什么?我需要字符 0。
\0
这就是 Visual Studionull
在调试窗口中显示角色的方式。
这\
是一个转义序列,所以\0
告诉你这是null
字符。
如果需要字符 0
,则需要为该字符使用正确的 ASCII 值 - 48。
char n = (char)0; // The _null_ character, displayed \0
char z = (char)48; // The character 0
char z2 = '0'; // The character 0, using a character literal
接收 char '0' 将int
48 转换为char
或简单地分配
var c = '0';
当您将int
0转换为时,char
您会在小数点 0 处收到 ASCII 符号,即为空。Char '0' 的 ASCII 值为 48,因此将 48 转换为 char 将导致 '0' char
。
在ASCII Table中检查 ASCII 符号及其十进制表示。请记住,无论何时转换int
为char
,都会考虑到这个 ASCII 表
如果你想要 char 0,你需要使用一个字符文字:
'0'
或者,您可以使用
0.ToString()[0]
取决于价值的来源。
\0
是 ASCII 值为 0 的字符的转义序列,这与数字 0 的字符不同。