日期:2014-05-17  浏览次数:21302 次

求解C#控制台如何读取多行
我输入的文本是复制粘贴的,占控制台多行。如果用Console.ReadLine();会提示超界异常
请问有什么解决办法。
PS:我不是要自己输入可以换行的那种。
c# 控制台

------解决方案--------------------
可以接受一个特定的字符来表示结尾,如: end 不输入end就一直保持输入 
while(str!="end")
{
str+=Console.ReadLine();
}
------解决方案--------------------
string temp;
while(!string.IsNullOrEmpty(temp=Console.ReadLine()))
{
  str+=temp;
}
------解决方案--------------------
FileStream aFile = new FileStream("文件路径", FileMode.Open);
当然文件路径你可以通过打开文件对话框获取
StreamReader sr = new StreamReader(aFile);
string strLine="";
strLine=sr.ReadLine();//一行读取
while(strLine!=null)
{
 //.......
 }
sr.close();
aFile.close();

------解决方案--------------------
你如果用的Ctrl+V的话。建议你用readkey方法。去判断是不是用用键盘粘贴了。
如果是再去读数据。
不然你这个是当作command命令执行了。
------解决方案--------------------
3楼的思路可以的,不过代码有点小问题。paste之后敲入end,判断当前读入的一行是不是end就做操作。