1

为什么 Visual Studio 在将 int 转换为 char 时会在 int 的开头添加斜杠?

当我转换int 0为 时char,它会更改为\0。为什么?我需要字符 0。

4

3 回答 3

3

\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
于 2013-01-17T12:47:10.287 回答
1

接收 char '0' 将int48 转换为char或简单地分配

var c = '0';

当您将int0转换为时,char您会在小数点 0 处收到 ASCII 符号,即为空。Char '0' 的 ASCII 值为 48,因此将 48 转换为 char 将导致 '0' char

在ASCII Table中检查 ASCII 符号及其十进制表示。请记住,无论何时转换intchar,都会考虑到这个 ASCII 表

于 2013-01-17T12:47:12.703 回答
1

如果你想要 char 0,你需要使用一个字符文字:

'0'

或者,您可以使用

0.ToString()[0]

取决于价值的来源。

\0是 ASCII 值为 0 的字符的转义序列,这与数字 0 的字符不同。

于 2013-01-17T12:48:31.373 回答