Построчный вывод файла - 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; } }