char p1 = '1';
            int t = 1;
            char p2 = Convert.ToChar(t);
            Console.WriteLine(p1 == p2);
这段代码输出的是False
但是我把第3行代码改成char p2 = Convert.ToChar(t.ToString());就成True了
-------------------------------------
为什么Convert类里面有
public static char ToChar(int value);
这个方法,但是返回的还是False呢charc#

解决方案 »

  1.   

    char p2 = Convert.ToChar(t);与下一语句等效char p2 = (char)1;
    所以p2是ASCII值为1的字符。
    但执行
    char p2 = Convert.ToChar(t.ToString());后ASCII码值为49
      

  2.   

    ASCII,ASCII,ASCII,ASCII,ASCII,ASCII,ASCII,ASCII,你懂的!!!!!“1”的值不是1
      

  3.   

    你判断一个字符是不是数字的时候用过(c>='0'&&c<='9')这种写法的吧?
    那就很容易知道'0'不等于0啊
      

  4.   


    using System;namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {           
                char p1 = '1';            
                char p2 = Convert.ToChar(1);           
                Console.WriteLine(p1);
                Console.WriteLine(p2);
                Console.ReadLine();
            }
           
        }
    }1

      

  5.   

    3=>♥
    4=>♦
    5=>♣
    6=>♠