- 08/02/2017
 - 2 minutes à lire
 - 
B
Y
 j-  
M 
m- 
+9
 
 
La méthode Main est le point d’entrée d’une application C#. (Les bibliothèques et les services ne nécessitent pas de méthode Main comme point d’entrée.) Lorsque l’application est démarrée, la méthode Main est la première méthode invoquée.
Il ne peut y avoir qu’un seul point d’entrée dans un programme C#. Si vous avez plusieurs classes qui ont une méthode Main, vous devez compiler votre programme avec l’option du compilateur -main pour spécifier quelle méthode Main utiliser comme point d’entrée. Pour plus d’informations, voir -main (Options du compilateur C#).
Aperçu
- La méthode 
Mainest le point d’entrée d’un programme exécutable ; c’est là que le contrôle du programme commence et se termine. Mainest déclaré dans une classe ou une structure.Maindoit être statique et il n’a pas besoin d’être public. (Dans l’exemple précédent, il reçoit l’accès par défaut de private.) La classe ou la structure englobante ne doit pas être statique.Mainpeut avoir unvoidint, ou, en commençant par C#7.1,Task, ouTask<int>type de retour.- Si et seulement si 
Mainrenvoie unTaskouTask<int>, la déclaration deMainpeut inclure leasyncmodificateur. Notez que cela exclut spécifiquement une méthodeasync void Main. - La méthode 
Mainpeut être déclarée avec ou sans paramètrestringqui contient des arguments de ligne de commande. Lorsque vous utilisez Visual Studio pour créer des applications Windows, vous pouvez ajouter le paramètre manuellement ou bien utiliser la méthode GetCommandLineArgs() pour obtenir les arguments de ligne de commande. Les paramètres sont lus sous forme d’arguments de ligne de commande indexés à zéro. Contrairement à C et C++, le nom du programme n’est pas traité comme le premier argument de ligne de commande dans le tableauargs, mais c’est le premier élément de la méthode GetCommandLineArgs(). 
Voici une liste de signatures Main valides :
Les exemples précédents utilisent tous le modificateur d’accesseur public. C’est typique, mais pas obligatoire.
L’ajout de async et TaskTask<int> types de retour simplifie le code du programme lorsque les applications de console doivent démarrer et awaitopérations asynchrones dans Main.