一个简单的C#程序,我是菜鸟

来源:百度知道 编辑:UC知道 时间:2024/05/12 20:33:36
using System;
class Test
{
public static void Main()
{
char c='\x0032';
object i=c;
int j=(char)i;
Console.WriteLine(j);
}
}
输出结果为:
C:\Documents and Settings\*****>1.exe
50

为什么会输出50,谁帮我解释一下

因为你 把 \x0032 赋值给c 了,这个数是16进制的,16进制的32转成数字就是50,你把50赋值给i后,object里面所存放的就是ascii里的50所对应的值,你后来有把它赋值给整数j,那j中的值就是50了

x0032是十六进制的值,转为十进制就是50

就是上面高手说的,只不过是做了个装箱和拆箱,和隐式转换

\x0032 换成二进制 就是 50