Main() und Befehlszeilenargumente (C# -Programmierhandbuch)

  • 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 eine voidint, oder, beginnend mit C# 7.1, Task oder Task<int> Rückgabetyp.
  • Genau dann, wenn Main eine Task oder Task<int>zurückgibt, kann die Deklaration von Main den Modifikator async enthalten. Beachten Sie, dass dies speziell eine async void Main -Methode ausschließt.
  • Die Main-Methode kann mit oder ohne einen string-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 Array args 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 TaskTask<int> Rückgabetypen vereinfacht den Programmcode, wenn Konsolenanwendungen gestartet werden müssen, und await asynchrone Operationen in Main.

C#-Sprachspezifikation

Related Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.