Täna kirjutasin konsooliprogrammi C#-s, mis loeb andmeid andmebaasist ja kuvab neid. Pärast käivitamist vilgub ekraan, programm väljub ja programmi tagastatud andmeid ei ole üldse näha. Kuidas programmi pausile panna pärast andmete lugemist? Lisasin lihtsalt lause lõppu:
Console.Read();
Nüüd on programm peatatud. Aga kui tahad programmist väljuda, pead ikkagi vajutama enter-nuppu. Kuidas saaksime suvaliste võtmete asemel saavutada selle efekti oma tavapärastes konsooliprogrammides? Arvasin, et see on Console.Read(); Meetod on okei, aga tulemus pole ikkagi hea. Otsisin Baidus, aga ebaõnnestusin, kuid ei oodanud, et leian vastuse nii lihtsale küsimusele (^_^ võib-olla on kõik meistrid ja ei saa sellise probleemiga kokku puutuda). Ma suudan selle lahendada ainult ise, proovisin mitu korda Read() ja ReadLine() meetoditega ning lõpuks leidsin, et konsoolil on ReadKey() meetod, ning dokumendi kirjeldus on: "Vajuta kasutaja poolt tähemärgi või funktsiooniklahvi" ning tekib ülekoormus: üks on ilma parameetriteta ja vajutatud nupp kuvatakse konsooli aknas; Teisel vormil on bool parameetri intercept, mis määrab, kas vajutatud klahvid kuvatakse konsoolikaanas, true tähendab, et vajutatud klahve ei kuvata ja vastupidi.
Console.Write("Vajuta suvalist klahvi väljumiseks..."); Console.ReadKey(true);
Kompileeri Käivita .............. Ok! Lõpuks sain sellega hakkama, kirjutasin üles, lootes aidata sõpru, kellel on sama probleem. |