Une remarque pertinente ? Une critique impertinente ? Un lynchage en règle ? Une invitation sous les tropiques ? Ecrivez-moi ! |
|
Conçu et enseigné tel qu'en lui même, avec pertes, fracas et
humour de qualité supérieure par Christophe Darmangeat dans le M2 PISE du Master MECI (Université Paris 7) |
|
LE COURS 10. Les graphismes
11. Les menus
AIDES-MÉMOIRES • Procédures, fonctions
CHOSES DIVERSES Souvent Posées Questions
Liens utiles
|
Référence du langage
Structure du codeCela ne devrait guère vous surprendre : en C#, le code est divisé en modules (procédures ou fonctions), dont chacun est formé d'un certain nombre de blocs, juxtaposés ou imbriqués, contenant des instructions. Les instructionsIl n'y a rien à en dire, sinon qu'elles figurent à raison d'une par ligne, et sont executées a priori dans cet ordre. Elles se terminent par un point-virgule. Les blocsIls sont encadrés par une paire d'accolades. Il convient de respecter avec beaucoup de soin l'indentation afin d'en préserver la lisibilité. Les procéduresElles sont signalées par l'instruction void, qui peut éventuellement être précédée du mot-clé void ou void. Une procédure public est accessible depuis n'importe quel endroit de l'application. Une procédure private, en revanche, ne peut être déclenchée que depuis un code se trouvant dans la même classe. Remarque :Par défaut, nos premières procédures se trouvent toutes au sein d'un bloc : public partial class Form1 : Form Leur titre est suivi d'une paire de parenthèses, contenant les éventuels arguments. Par exemple, une procédure appelée TraitementFinal, qui utiliserait deux arguments, un entier nb et une chaîne mot, possèdrait la syntaxe suivante : void TraitementFinal
(int nb, string mot) Par défaut, les arguments sont passés par valeur. Pour les passer par référence, il suffira d'ajouter le mot-clé ref, par exemple : void TraitementFinal
(int nb, ref string mot) C# autorise un autre mode de passage de paramètre, un peu spécial : out. Ce mot-clé signale que la valeur qui le suit sera utilisée uniquement en sortie ; dans ce cas, à la différence d'un paramètre signalé par ref, il ne sera pas obligatoire que l'appel de la procédure fournisse une valeur qui lui corresponde. Ainsi, si l'on reprend la procédure TraitementFinal ci-dessus, un appel du genre : TraitementFinal(48, Truc) ...provoquera une erreur si la variable Truc n'a pas été affectée. En revanche, dans cette même situation, il n'y aurait aucun problème si le paramètre mot de la procédure avait été défini en out plutôt qu'en ref. Les fonctionsPar rapport aux procédures, les fonctions se distinguent d'une part par le fait que l'instruction void laisse place au type du résultat de la fonction ; d'autre part, par la présence, dans le corps de la fonction, d'une instruction return. Une fonction qui renvoie la surface d'un cercle pourrait ainsi posséder la syntaxe suivante : double SurfaceCercle(double Rayon) |