这是我尝试过的
int two = 2;
int asciiX = (int) 'x';
int asciiTwo = (int) two;
Console.WriteLine("The ascii value of 2 is " + asciiTwo);
Console.WriteLine("The ascii value of x is " + asciiX););
我希望输出为50,因为ascii值为2是50(这是ASCII代码'2')
但我得到了这个结果:
The ascii value of 2 is 2
The ascii value of x is 120 (it's working for x)
我知道如果我放int asciiTwo = '2';
它会起作用,但它不是直接从变量处理我该怎么办,得到一个int变量中的数字的ascii代码?
答案 0 :(得分:1)
two
是int
,其值为2
。您正在向int
投射int
。这不会改变任何事情。
您至少可以通过两种方式获取ASCII值:
(int)(two.ToString())[0] //the first char of the string representation of two
(int)(two + '0') //numbers start at '0' in the ASCII table
答案 1 :(得分:0)
您将two
变量声明为int
。 int
的{{1}}是int
本身。
您想要的是将其声明为int
或char
。
string