在研究一个字符转换的问题 有一个疑问 就是 当 从一个int变量 i 范围是 0  到   int.MaxValue  之间的 数字 
如果 用(char)强制转换 那么会出错误么.         
有没有一个数字不表示一个字符的情况出现那.关于一个解密的问题.

解决方案 »

  1.   

    int k = 0;
            char test = null;
            for (int i = 0; i < int.MinValue; i++)
            {
                try
                {
                    test = (char)i;
                }
                catch
                {
                    k++;
                }
            }        //当在这个执行完毕 k的数值还会是0么
      

  2.   

    k是0,转换不会出错
    但是int和char的存储空间不一样,int转过去的char并不一定是你想要的结果
      

  3.   

    转换不会出错...char是两个字节,int是四个字节..转换时,会先截取int的低两个字节,然后再进行转换..
      

  4.   

    举个例子你就明白了..Console.WriteLine((char)(0x0034));
                unchecked {
                Console.WriteLine((char)(0x110034));
                }输出:
    4
    4