在用read()和readline()过程中遇到的问题
下面是我代码中的一段

                        Console.WriteLine("请输入要转出的金额:");
                        int Outmoney=Console.Read();
                        Console.WriteLine("确定要转出吗?(Y  OR  N)");
                        string yn = Console.ReadLine();
                            if(yn=="y")
                            {
                                     if (Outmoney <= MyMoney)
                                {
                                    Console.WriteLine("转账成功!");
                                    MyMoney = MyMoney - Outmoney;
                                }
                                else
                                {
                                    Console.WriteLine("您的余额不足!请充值");
                                }
                                     Console.ReadLine();
                            }
 
因为刚开始没有真正了解read()和readline()的区别,所以在“int Outmoney=Console.Read();”句话中,以为Outmoney是一个int类型的所以用read()会更简单,不需要转换,结果在执行的时候程序不让输入Y或者N,跟踪之后发现“string yn = Console.ReadLine();“执行了,但为什么不会等我输入呢,加入几行代码
                       int Outmoney = Console.Read();
                              int q = Console.Read();
                              int p = Console.Read();
                        Console.WriteLine("确定要转出吗?(Y  OR  N)");
     
                        string yn = Console.ReadLine();
                        Console.WriteLine(Outmoney);
                        Console.WriteLine(q);
                        Console.WriteLine(p);
                        Console.WriteLine(yn);
执行结果发现q=13,p=10,所以,只要在read()之后的read操作都先读的是上一个的回车和换行的值。