- 08/02/2017
- 2 Minuten zum Lesen
-
-
B -
Y -
j -
M -
m -
+9
-
Main Methode ist der Einstiegspunkt einer C # -Anwendung. (Bibliotheken und Dienste benötigen keine Main -Methode als Einstiegspunkt.) Wenn die Anwendung gestartet wird, ist die Main Methode die erste Methode, die aufgerufen wird.
Es kann nur einen Einstiegspunkt in ein C#-Programm geben. Wenn Sie mehr als eine Klasse mit einer Main -Methode haben, müssen Sie Ihr Programm mit der -main -Compileroption kompilieren, um anzugeben, welche Main -Methode als Einstiegspunkt verwendet werden soll. Weitere Informationen finden Sie unter -main (C # -Compileroptionen).
Übersicht
- Die
MainMethode ist der Einstiegspunkt eines ausführbaren Programms; hier beginnt und endet die Programmsteuerung. -
Mainwird innerhalb einer Klasse oder Struktur deklariert.Mainmuss statisch und nicht öffentlich sein. (Im früheren Beispiel erhält es den Standardzugriff private .) Die umschließende Klasse oder Struktur muss nicht statisch sein. -
Mainkann entweder einevoidint, oder, beginnend mit C# 7.1,TaskoderTask<int>Rückgabetyp. - Genau dann, wenn
MaineineTaskoderTask<int>zurückgibt, kann die Deklaration vonMainden Modifikatorasyncenthalten. Beachten Sie, dass dies speziell eineasync void Main-Methode ausschließt. - Die
Main-Methode kann mit oder ohne einenstring-Parameter deklariert werden, der Befehlszeilenargumente enthält. Wenn Sie Visual Studio zum Erstellen von Windows-Anwendungen verwenden, können Sie den Parameter manuell hinzufügen oder die Methode GetCommandLineArgs() verwenden, um die Befehlszeilenargumente abzurufen. Parameter werden als Null-indizierte Befehlszeilenargumente gelesen. Im Gegensatz zu C und C++ wird der Name des Programms nicht als erstes Befehlszeilenargument im Arrayargsbehandelt, sondern ist das erste Element der Methode GetCommandLineArgs().
Das Folgende ist eine Liste gültiger Main Signaturen:
Die vorhergehenden Beispiele verwenden alle den öffentlichen Accessor-Modifikator. Das ist typisch, aber nicht erforderlich.
Das Hinzufügen von async und TaskTask<int> Rückgabetypen vereinfacht den Programmcode, wenn Konsolenanwendungen gestartet werden müssen, und await asynchrone Operationen in Main.