Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Goto aus Funktion heraus?! "Programm-Neustart"
CarnifeX
myCSharp.de - Member



Dabei seit:
Beiträge: 48

Themenstarter:

Goto aus Funktion heraus?! "Programm-Neustart"

beantworten | zitieren | melden

Hey Leute,

Ich habe eine Frage.
Ich habe ein Programm geschrieben dass schon relativ groß und komplex ist. In einer meiner Funktionen frage ich den User ob er eine bestimmte Einstellung vornehmen möchte, ob er alles so lassen möchte und ob er das Programm Neustarten will.

Ich habe ein Problem mit dem Neustarten.
Da ich innerhalb einer Funktion bin kann ich nicht mit goto in meine Main-Methode springen und somit das Programm von neu starten lassen. Wie ist es mir also Möglich innerhalb meiner Funktion das Programm neu zu starten oder in meine Mainmethode zu springen??



switch (exposeOrnoteingabe.Key)
                {
                    case ConsoleKey.J:
                        exposeZähler++;
                        break;
                    case ConsoleKey.N:
                        break;
                    case ConsoleKey.Escape:
                        
                  ----------> ??????? <----------

                    default:
                        Console.WriteLine("Ungültige Eingabe");
                        goto erneut;


Danke im Voraus :)
private Nachricht | Beiträge des Benutzers
LaTino
myCSharp.de - Experte

Avatar #avatar-4122.png


Dabei seit:
Beiträge: 3062
Herkunft: Thüringen

beantworten | zitieren | melden

[offtopic]Das hat ein bisschen was von einem Autounfall....furchtbar, aber nicht hinsehen ist auch schwer. [/offtopic]

Du hast, denke ich, ein sehr grundlegendes Verständnisproblem mit der objektorientierten Programmierung. Es gibt keinen "Neustart". oder Goto-Marker im Sinn der Goto-Anweisung in BASIC.

Wenn ein Consoleprogramm nicht beendet sein soll, bevor der User nicht irgendwas bestimmtes gemacht hat...

(Code wird nicht funktionieren, es geht auch nur um die Struktur)


ConsoleKey usereingabe = null;
while(usereingabe != ConsoleKey.F10)
{
    showMenu();
    usereingabe = Console.ReadKey();
    DoSomething(input);
}

Aber das sind sehr, sehr frühe Grundlagen, mit denen du hier auf mycsharp nur begrenzt Hilfe bekommen wirst.

LaTino
"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5992
Herkunft: Leipzig

beantworten | zitieren | melden

Hi CarnifeX,

im Prinzip hat LaTino alles dazu gesagt, und die Diskussion, ob und warum man goto verwenden sollte, ist hier schon des öfteren geführt worden.

Da es hier um die absoluten Grundlagen der Programmierung geht (Schleifen!), verweise ich mal auf [FAQ] Wie finde ich den Einstieg in C#?.

Christian
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers