Я относительно новичок в кодировании и новичок в С#. Я работаю над учебными пособиями Channel 9 в MSDN и столкнулся с чем-то, чего не понимаю, включая 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() должен будет следовать за Console.WriteLine(line) в операторе if, чтобы отобразить все строки . Что я не понимаю? Спасибо за помощь!