Random ra = new Random();
int rndInt = ra.Next(1, 100);
int  input =CONSOLE.READ() ;
if (input == 0)    
 {
      Console.WriteLine("你已退出游戏!");
      Console.ReadKey();
 }
但是我输入0的时候却不会进入IF判断中,好像是用0的ASCII码48比较,
但是我后面要用input跟产生的随机数比较却不成功,感觉有点像是随机数产生的数字就是那个值,而我输入的数字就会转成ASCII码去跟它比较,
请高手帮下忙,教我怎么实现随机数与输入的数进行比较。
本来想在CONSOLE.READ()用转换的,但是好像也不行。

解决方案 »

  1.   

    呵呵,你的程序有问题。
    1:read读取的只是一个字符,如果你的数字是10这样的两位数,你将得不到结果。
    2:返回的的确是ASCII码,你的比较方式也是错误的。
    看这个代码,我写了一下VS2008,TESTED。public static void Main()
    {    Random ra = new Random();    while (true)
        {
            int rndInt = ra.Next(1, 100);
            string inputString = Console.ReadLine();
            int input;
            if (Int32.TryParse(inputString, out input))
            {
                if (input == 0)
                {
                    Console.WriteLine("你已退出游戏!");
                    break;
                }
                Console.WriteLine("{0},随机数为:{1}", input == rndInt ? "Win" : "Failure", rndInt.ToString());
            }
            else
            {
                Console.WriteLine("输入格式不正确,必须全部为数字。请重新输入。");        }
        }
    }
      

  2.   

    ......
    string input = Console.ReadLine();
    if (Int32.Parse(input) == 0)
    ......
    这样试试
      

  3.   

    console.read()读到的是一个字符,而你比较的是数字,应先转换为数字再比较
    int  input =Convert.toInt32(CONSOLE.READ()) ; 
      

  4.   

    用CONSOLE.READLINE()就不会出现我那个问题,弄了两三天才知道原来问题出在这里
    看来自己要多努力才能成为菜鸟