Это не может сработать по замыслу. Консольные потоки stdin / stdout открываются, пока программа активна. В этом случае EndOfStream
выполняется непосредственно перед закрытием приложения.
Хорошее решение для вашей проблемы.
using System;
public class Example
{
public static void Main()
{
string line;
do {
line = Console.ReadLine();
if (line != null)
Console.WriteLine("Now I have detected the end of stream.... " + line);
} while (line != null);
}
}