- 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
Main
Methode ist der Einstiegspunkt eines ausführbaren Programms; hier beginnt und endet die Programmsteuerung. -
Main
wird innerhalb einer Klasse oder Struktur deklariert.Main
muss 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. -
Main
kann entweder einevoid
int
, oder, beginnend mit C# 7.1,Task
oderTask<int>
Rückgabetyp. - Genau dann, wenn
Main
eineTask
oderTask<int>
zurückgibt, kann die Deklaration vonMain
den Modifikatorasync
enthalten. 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 Arrayargs
behandelt, 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 Task
Task<int>
Rückgabetypen vereinfacht den Programmcode, wenn Konsolenanwendungen gestartet werden müssen, und await
asynchrone Operationen in Main
.