Új hozzászólás Aktív témák
-
Zalanius
tag
Még egy variáció alább (.net 4.5+). A fenti kettő amúgy jobb válasz, de eljátszottam kicsit a feladattal async eszközökkel, hátha érdekes lehet. Nem a legszebb a "novekvo" ilyen használata, de ennél a példánál belefér az ilyesmi is, nincsenek más konkurrens részek, amikre még tekintettel kellene lenni. A ReadKey hallgatózás hátránya, hogy ha el is értük a maxot, egy ESC akkor is kell, mielőtt a "Kész..." megjelenhet.
static void Main(string[] args)
{
Console.WriteLine("Befejezés: ESC. Irányváltás: SPACE.");
CancellationTokenSource cts = new CancellationTokenSource();
const int MAX = 1000;
int x = 0;
bool novekvo = true;
Task t1 = Task.Factory.StartNew(async () =>
{
while (!cts.Token.IsCancellationRequested && x < MAX)
{
Console.Write(novekvo ? ++x : --x);
Console.Write(" ");
await Task.Delay(50);
}
}, cts.Token);
ConsoleKeyInfo keyInfo = Console.ReadKey(true);
while (keyInfo.Key != ConsoleKey.Escape)
{
if (keyInfo.Key == ConsoleKey.Spacebar)
{
novekvo = !novekvo;
}
keyInfo = Console.ReadKey(true);
}
cts.Cancel();
Console.WriteLine("Kész. A kilépéshez nyomj meg egy gombot.");
Console.ReadKey();
}--= Zalán =--
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen