您的位置:程序门 -> .net技术 -> c#



一个数字类型转换为char类型的疑问


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


一个数字类型转换为char类型的疑问[已结贴,结贴人:bing_ke_xin]
发表于:2007-01-13 19:30:55 楼主
在研究一个字符转换的问题   有一个疑问  

就是   当   从一个int变量   i   范围是   0     到       int.maxvalue     之间的   数字  
如果   用(char)强制转换   那么会出错误么.                  
有没有一个数字不表示一个字符的情况出现那.关于一个解密的问题.
发表于:2007-01-13 19:31:041楼 得分:0
没有人么
发表于:2007-01-13 19:35:542楼 得分:0
没明白你在说什么,具体些
发表于:2007-01-13 19:38:463楼 得分:0
int   k   =   0;
                char   test   =   null;
                for   (int   i   =   0;   i   <   int.minvalue;   i++)
                {
                        try
                        {
                                test   =   (char)i;
                        }
                        catch
                        {
                                k++;
                        }
                }

                //当在这个执行完毕   k的数值还会是0么
发表于:2007-01-13 19:39:274楼 得分:10
肯定有了啊!
发表于:2007-01-14 00:34:405楼 得分:10
k是0,转换不会出错
但是int和char的存储空间不一样,int转过去的char并不一定是你想要的结果
发表于:2007-01-14 11:32:536楼 得分:10
转换不会出错...

char是两个字节,int是四个字节..

转换时,会先截取int的低两个字节,然后再进行转换..
发表于:2007-01-14 11:33:417楼 得分:20
举个例子你就明白了..

console.writeline((char)(0x0034));
                        unchecked   {
                        console.writeline((char)(0x110034));
                        }

输出:
4
4


快速检索

最新资讯
热门点击