Приостановить инфу в консоли - C#
Формулировка задачи:
Как приостановить вывод на консоль,что бы только после нажатие клавиши продолжался вывод части информации? При этом что бы работа программы,например внутри цикла не останавливалась, просто задерживалась текстовая инфа и дальше не шла пока пользователь не пожелает.
Решение задачи: «Приостановить инфу в консоли»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Threading; namespace BackgroundThreadTest { class Program { private static int x; private static readonly Queue<int> Queue = new Queue<int>(); private static event Action Changed; static bool print = true; static void Main() { var thread = new Thread(() => { while (++x < 100) { Queue.Enqueue(x); Action handler = Changed; if (handler != null) handler(); Thread.Sleep(200); } }); Changed += () => { if (print && Queue.Count > 0) lock (Queue) { foreach (int i in Queue) Console.WriteLine(i); Queue.Clear(); } }; thread.Start(); while (thread.IsAlive) { Console.WriteLine("Для вывода нажмите y, для прекращения вывода - n"); print = Console.ReadKey(true).Key == ConsoleKey.Y; } Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д