III - La méthode Main
La méthode Main représente le point d'entrée d'un programme.
Voici un programme qui se contente d'afficher un texte:
using System;
class UneClasse
{
static void Main()
{
Console.WriteLine("un texte !");
}
}
La méthode Main est toujours statique et elle renvoit soit le type void soit le type int.
La méthode Main peut aussi prendre un tableau de chaînes de caractères en argument. Les éléments de ce tableau représentent les arguments de la ligne de commande. Dans l'exemple suivant,
nous calculons le carré d'un nombre entré en ligne de commande.
using System;
class Carre
{
static int Main(string[] args)
{
if (args.Length == 0 || args.Length > 1)
{
Console.WriteLine("Erreur: entrer un entier");
Console.WriteLine("Usage: carre <entier>");
return 0;
}
else
{
long e1 = long.Parse(args[0]);
long carre = e1 * e1;
Console.WriteLine("Carre(" + e1 + ") = " + carre);
return 1;
}
}
}
Ce programme est incomplet. Pour le montrer, testons plusieurs types d'arguments.
Quel est le problème ?! Il n'y en a pas, c'est bien le rèsultat attendu.
Ici, l'argument est un blanc (touche espace). Le programme gère ce cas lorsqu'il vérifie si le nombre d'arguments est nul à la ligne suivante: if (args.Length == 0 || args.Length > 1).
Nous avons entré plusieurs arguments. Le programme prend également ce cas en charge. Si nous n'avions pas considéré ce cas, le résultat aurait quand même été correct car
seul le premier argument aurait été pris en compte (les autres aurait été ignoré). Mais pour calculer le carré d'un nombre, l'utilisateur est censé ne rentrer qu'un seul entier et non 36.
Là c'est le drame ! Cinq fois cinq vaut bien vingt-cinq mais le programme attend un entier et non une chaîne de caractères. Le paramètre étant passé sous un mauvais format, une exception est renvoyée. Nous parlerons
des exceptions dans un article ultérieur.
La méthode Main sur les MSDN
Lundi 13 Juin 2005
|