In C# etwas im Hintergrund laufen lassen?
Ich habe in C# einen Texteditor geschrieben, der in der Konsole läuft. Nun soll der Benutzer während Console.ReadLine(); aktiv ist, F10 drücken, um den Text zu speichern. Mein Problem ist, ich weiß nicht, wie man eine Schleife im Hintergrund laufen lässt. Habt ihr da ne Lösung für mich?
2 Antworten
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Dazu brauchst du multi threading.Das würde dann zb. so aus sehen: public class TextEditor {Thread speicherThread = new Thread (SpeicherMethode);public static void Main (string[] args){speicherThread.Start();} public static void SpeicherMethode () {while(true) //oder eine andere bedingung zum abbrechen des "Speicher threads" {//Code zum speichern} } } Sorry für den "unsortierten" code, ich schreibe das gerade vom Handy ^^Solltest du nich fragen haben, beantworte ich diese gerne. VG EnchantingPS: hier nochmal der link zu einer ausführlichen Erklärung zu multi threading:https://msdn.microsoft.com/de-de/library/7a2f3ay4(v=vs.90).aspx
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Wozu denn ne Schleife im Hintergrund? Fang doch mit Console.Readkey die gedrückte Taste ab und speicher dann. Ansonsten kannste das mit Threads machen.
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
So weit ih weiß werden funktions tasten wie f 10 nicht von readkey erfasst, kann mich aber auch irren ^^