Построчный вывод файла - C#

Узнай цену своей работы

Формулировка задачи:

В данный момент программа выводит текстовый файл постранично по нажатию пробела, а как сделать, чтобы еще по нажатию enter осуществлялся построный вывод? в зависимости от того, что нажмет пользователь. Если пробел-постраничный просмотр, если enter построчный просмотр. Как доработать код?
       static void more(string addr)
        {
       
            string[] lines;
            lines = System.IO.File.ReadAllLines(addr, Encoding.Default);
 
            int l = lines.Length;
            int i;
            if (l < 25)
                foreach (string line in lines)
                    Console.WriteLine(line, Encoding.Unicode);
 
            else
            {
                using (var sr = new StreamReader(addr))
                     while (!sr.EndOfStream)
                        {
                            for (i = 0; i < 25 && !sr.EndOfStream; i++)
 
                                Console.WriteLine(sr.ReadLine());
                            while (Console.ReadKey(true).Key != ConsoleKey.Spacebar) ;
                        }
            }
        }
}
}

Решение задачи: «Построчный вывод файла»

textual
Листинг программы
static void More(string addr)
        {
            var lines = File.ReadAllLines(addr, Encoding.Default);
            var l = lines.Length;
 
            if (l < 25)
            {
                foreach (var line in lines)
                {
                    Console.WriteLine(line);
                }
 
                return;
            }
 
 
            var key = ConsoleKey.Spacebar;
 
            using (var sr = new StreamReader(addr))
                while (!sr.EndOfStream)
                {
                    switch (key)
                    {
                        case ConsoleKey.Spacebar:
                            for (var i = 0; i < 25 && !sr.EndOfStream; i++)
                            {
                                Console.WriteLine(sr.ReadLine());
                            }
                            break;
 
                        case ConsoleKey.Enter:
                            Console.WriteLine(sr.ReadLine());
                            break;
 
                        default:
                            continue;
                    }
 
                    key = Console.ReadKey(false).Key;
                }
        }

Оцени полезность:

9   голосов , оценка 3.556 из 5
Похожие ответы