static void Main(string[] args)
{
//用ReadLine()的情况
/*string s="y";
do
{
Console.Write("请输入一字符串:");
s = Console.ReadLine();
} while (s == "y");*/
//用Read()的情况
char s = 'y';
do
{
Console.Write("请输入一字符串:");
s = (char)(Console.Read());
} while (s =='y');
}
如上所示,第一种情况,使用ReadLine()输入的时候,没发生错误,下次循环时继续给s赋新的值;而第二种情况,使用Read(),下次循环时,s直接被赋值为上次使用Read()输入时的最后一个字符(一般是换行符),而不是让我重新再给s赋次值。
{
//用ReadLine()的情况
/*string s="y";
do
{
Console.Write("请输入一字符串:");
s = Console.ReadLine();
} while (s == "y");*/
//用Read()的情况
char s = 'y';
do
{
Console.Write("请输入一字符串:");
s = (char)(Console.Read());
} while (s =='y');
}
如上所示,第一种情况,使用ReadLine()输入的时候,没发生错误,下次循环时继续给s赋新的值;而第二种情况,使用Read(),下次循环时,s直接被赋值为上次使用Read()输入时的最后一个字符(一般是换行符),而不是让我重新再给s赋次值。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货