请教 console.readline()为何不能留住屏幕的作用呢? 为何省略最后一句console.readline(),就不会留住屏幕呢?
 上面已经有两句 console.readline() 了,为何单独不起作用呢,
 必须在配上最后这一句 console.readline() 才能起到留住屏幕的作用呢?using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace d0420
{
    class Program
    {
        static void Main(string[] args)
        {
            int i;
            Console.Write("请输入: i=");
            i = Console.Read();
            if (i == 1)
            {
                Console.Write("i is one");
                Console.ReadLine();
            }
            else
            {
                Console.Write("i is not one!");
                Console.ReadLine();
            }
            
            //为何省略下面这一句,就不会留住屏幕呢?
            //上面已经有两句 console.readline() 了,为何单独不起作用呢,
            //必须在配上最后这一句才能起到留住屏幕的作用呢?
            //Console.ReadLine();
        }
    }
}

解决方案 »

  1.   

    write之后,readline会读到一个空字符,所以他不会等待,直接反悔了,因为它读到字符了
      

  2.   

            static void Main(string[] args)
            {
                int i;
                Console.Write("请输入: i=");
                i =Convert.ToInt32( Console.ReadLine());
                if (i == 1)
                {
                    Console.Write("i is one");
                    Console.ReadLine();
                }
                else
                {
                    Console.Write("i is not one!");
                    Console.ReadLine();
                }        }
      

  3.   

    您真的试了吗?
    我反复试过,确实留不住屏幕的。
    但是吧最后一句 console.readline()的注释取消,就能留住屏幕了。
    而且,上面两句 console.readline()同样不能取消,
    说白了,要两张两句 console.readline()才会起到留住屏幕的作用。希望大家真的试一下呀。
      

  4.   

    谢谢你,改用 readline()是可以,为什么呢,
    为什么用 read()就不行呢?
      

  5.   


    看错了,我调试程序最外面有一行Console.ReadKey();
      

  6.   

      用Console.ReadKey();试下
      

  7.   

    Console.Read()
    执行到这里,你操作,按1回车。1被Read()返回,回车还在。
    i = 49; // read返回的是字符的ascii
    然后判断,不是1.
    执行
    Console.Write("i is not one!");
    Console.ReadLine();//读入刚才1输入后面的回车换行。立刻结束继续执行。
      

  8.   

    测试下来和你结果一样,read后面会多一个回车和空行,直接被readline读取了
      

  9.   

                Console.Read();
                string a = Console.ReadLine();
                Console.WriteLine(a);
    大家可以直接测一下这个代码就明白了。