我想在控制台中写一个字符.
这是我的代码.
using System; namespace bla { class MainClass { public static void Main (string[] args) { int d = 5; char e = (char)d; Console.WriteLine("my Char: " + e); Console.WriteLine("my Char: " + e.ToString ()); // also doesn't work } } }
相反,我只看到"我的字符:"作为输出,而不是预期的"我的字符:5".
您想要char e = '5';
将"5"打印到控制台.
当你有
int d = 5; char e = (char)d;
您正在打印一个值为 5 的字符,这是您的问题的评论中指出的查询字符,而不是字符 "5".
字符"5"具有ASCII值 53(0x35
十六进制-在ASCII 0x30
是"0",0x39
为"9",而另一个数字是0x3{d}
其中{d}
是数字); 你可以修改你的代码以这种方式打印"5":
char e = 0x35;
注意你不需要在这里施放.但如果你想从投int
来char
,你可以使用
int d = 0x35; char e = (char)d;
您可以通过执行类似操作来自行检查
char e = 0x35; char f = '5'; bool check = e == f; // true
如果你想要打印的角色变化,你可以做一些类似的事情
private void printNumberToConsole(int number) { if ( number < 0 || number > 9 ) throw new ArgumentException("'number' must be between 0 and 9"); char e = '0' + (char)number; // '0' == 0x30 Console.WriteLine("my Char: " + e); }