白洋湾街道:c#问题,高手帮着看看.

来源:百度文库 编辑:神马品牌网 时间:2024/05/09 04:13:38
有一段c#程序:
string sTemp;
char cTemp;
Console.Write("输入文件名:");
sTemp = Console.ReadLine();
while( File.Exists( sTemp ) )
{
Console.Write( "文件'{0}'存在,是否删除文件(Y/N):", sTemp );
cTemp = (char)Console.Read();
if( cTemp == 'Y' || cTemp == 'y' )
{
File.Delete( sTemp );
break;
}
else
{
Console.Write("重新输入文件名:");
sTemp = Console.ReadLine();//就是这里有问题.
}
}
从输入一个存在的文件时运行到sTemp = Console.ReadLine()结果为"".
在次执行while时.sTemp结果为"".

还有如果去掉有问题的那行,则会连续执行三次循环,即在屏幕上显示三行"重新输入文件名:",然后停下等待输入Y/N.

请高手解决这两个问题.谢谢.
就是到问题那行不会停下来等你输入,而是直接跳过去.

Console.Read();
比较特别,他不会将回车读入,因此,Console.Read()中输入的回车会被Console.ReadLine()读入而直接跳过.

将Console.Read();
改为 Console.ReadLine();
就没问题了!

真是诡异的问题啊。