C# Console.ReadLine() 读取多行
C# Console.ReadLine() reading multiple lines
我对编码比较陌生,对 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 读取一系列数字,每个数字占一行,然后将它们发送到控制台 window。我的问题是为什么它有效。我的理解是 Console.ReadLine() 从输入流中读取一行。但在这种情况下,尽管它不是 while 循环的一部分,但它正在读取几行。我本以为,如所写,控制台 window 只会显示 Values.txt 的最后一行,并且 Console.ReadLine() 必须遵循 Console.WriteLine(line)在 if 语句中以显示所有行。我不明白什么?感谢您的帮助!
Console.WriteLine() 是输出到控制台 window 的命令,因为它是 while 循环的一部分。它打印文件中的每一行。
Console.ReadLine() 在最后添加,只是为了强制调试控制台 window 保持打开状态,直到用户输入并按回车键,通常在这种情况下 Console.ReadKey( ) 比较合适。
但是在上面的代码中,Console.ReadLine() 并不是从文件中读取数字的代码。这是 myReader.ReadLine();在 while 循环中。
所以 while 循环,不断从文件中读取行,直到到达文件末尾。
每次循环执行时,它读取一行。如果该行不为空,它会一次又一次地循环,直到没有更多的行。每次循环并且 line
不为空时,它都会打印行。
这一切都发生在最后的 Console.ReadLine()
语句之前。所做的只是暂停程序,以便您可以看到输出。
我对编码比较陌生,对 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 读取一系列数字,每个数字占一行,然后将它们发送到控制台 window。我的问题是为什么它有效。我的理解是 Console.ReadLine() 从输入流中读取一行。但在这种情况下,尽管它不是 while 循环的一部分,但它正在读取几行。我本以为,如所写,控制台 window 只会显示 Values.txt 的最后一行,并且 Console.ReadLine() 必须遵循 Console.WriteLine(line)在 if 语句中以显示所有行。我不明白什么?感谢您的帮助!
Console.WriteLine() 是输出到控制台 window 的命令,因为它是 while 循环的一部分。它打印文件中的每一行。
Console.ReadLine() 在最后添加,只是为了强制调试控制台 window 保持打开状态,直到用户输入并按回车键,通常在这种情况下 Console.ReadKey( ) 比较合适。 但是在上面的代码中,Console.ReadLine() 并不是从文件中读取数字的代码。这是 myReader.ReadLine();在 while 循环中。 所以 while 循环,不断从文件中读取行,直到到达文件末尾。
每次循环执行时,它读取一行。如果该行不为空,它会一次又一次地循环,直到没有更多的行。每次循环并且 line
不为空时,它都会打印行。
这一切都发生在最后的 Console.ReadLine()
语句之前。所做的只是暂停程序,以便您可以看到输出。