我对编码比较陌生,对 C# 也很陌生。我正在阅读 MSDN 上的第 9 频道教程,并且遇到了一些我不理解的涉及 Console.ReadLine() 的内容。
作为其中一个教程的一部分,讲师生成了以下代码:
static void Main(string[] args)
{
StreamReader myReader = new StreamReader("Values.txt");
string line = "";
while (line != null)
{
line = myReader.ReadLine();
if (line != null)
{
Console.WriteLine(line);
}
}
myReader.Close();
Console.ReadLine();
}
这段代码有效——它从 Values.txt 中读取一系列数字,每个数字占一行,然后将它们发送到控制台窗口。我的问题是为什么它有效。我的理解是 Console.ReadLine() 从输入流中读取一行。但在这种情况下,尽管它不是 while 循环的一部分,但它正在读取几行。我原以为,正如所写,控制台窗口只会显示 Values.txt 的最后一行,并且 Console.ReadLine() 必须在 if 语句中遵循 Console.WriteLine(line) 才能显示所有行. 我不明白什么?谢谢您的帮助!