Introduction aux fonctions en C #

En C #, une fonction est un moyen d'empaqueter du code qui fait quelque chose et renvoie ensuite la valeur. Contrairement à C, C ++ et à certains autres langages, les fonctions n'existent pas par elles-mêmes. Ils font partie d'une approche orientée objet de la programmation.

Un programme de gestion des feuilles de calcul peut inclure une fonction sum () dans le cadre d'un objet, par exemple.

En C #, une fonction peut être appelée fonction membre - c'est un membre d'une classe - mais cette terminologie est laissée par C ++. Le nom habituel est une méthode.

La méthode d'instance

Il existe deux types de méthodes: la méthode d'instance et la méthode statique. Cette introduction couvre la méthode d'instance.

L'exemple ci-dessous définit une classe simple et l'appelle Tester. Cet exemple est un simple programme de console, cela est donc autorisé. Habituellement, la première classe définie dans le fichier C # doit être la classe de formulaire.

Il est possible d'avoir une classe vide comme celle-ci Test de classe , mais ce n'est pas utile. Bien qu'il semble vide, il ressemble à toutes les classes C # hérite de l'objet qui le contient et inclut un constructeur par défaut dans le programme principal.

var t = nouveau Test ();

Ce code fonctionne, mais il ne fera rien lors de l'exécution, sauf créer une instance t de la classe de test vide. Le code ci-dessous ajoute une fonction, une méthode qui génère le mot «Bonjour».

en utilisant le système;
espace de noms funcex1

Test de classe

public void SayHello ()

Console.WriteLine ("Bonjour");


Programme de cours

statique void Main (chaîne [] args)

var t = nouveau Test ();
t.SayHello ();
Console.ReadKey ();


Cet exemple de code comprend Console.ReadKey (), donc quand il s'exécute, il affiche la fenêtre de la console et attend une entrée de clé telle que Entrée, Espace ou Retour (pas les touches Maj, Alt ou Ctrl). Sans cela, il ouvrirait la fenêtre de la console, afficherait "Bonjour" puis fermerait tout en un clin d'œil.

La fonction Dis bonjour est une fonction aussi simple que possible. C'est une fonction publique, ce qui signifie que la fonction est visible de l'extérieur de la classe.

Si vous supprimez le mot Publique et essayez de compiler le code, il échoue avec une erreur de compilation "funcex1.test.SayHello () 'est inaccessible en raison de son niveau de protection." Si vous ajoutez le mot «privé» à l'endroit où se trouvait le mot public et recompilez, vous obtenez la même erreur de compilation. Redéfinissez-le simplement sur "public".

Le mot néant dans la fonction signifie que la fonction ne renvoie aucune valeur.

Caractéristiques de définition de fonction typiques

  • Niveau d'accès: public, privé et quelques autres
  • Valeur de retour>: void ou tout type tel que int
  • Nom de la méthode: SayHello
  • Tous les paramètres de méthode: aucun pour l'instant. Celles-ci sont définies entre crochets () après le nom de la méthode

Le code pour la définition d'une autre fonction, MyAge (), est:

public int MyAge ()

retour 53;

Ajoutez-le juste après Dis bonjour() dans le premier exemple et ajoutez ces deux lignes avant Console.ReadKey ().

var age = t.MyAge ();
Console.WriteLine ("David a 0 ans", âge);

L'exécution du programme génère désormais ceci:

Bonjour
David a 53 ans,

le var age = t.MyAge (); l'appel à la méthode a renvoyé la valeur 53. Ce n'est pas la fonction la plus utile. Un exemple plus utile est la fonction de feuille de calcul Sum avec un tableau d'ints, l'index de départ et le nombre de valeurs à additionner.

Voici la fonction:

float public Sum (valeurs int [], int startindex, int endindex)

var total = 0;
for (var index = startindex; index<=endindex; index++)

total + = valeurs [index];

retour total;

Voici trois cas d'utilisation. C'est le code à ajouter dans Main () et à appeler pour tester la fonction Sum.

valeurs var = new int [10] 1, 2, 3, 4, 5, 6, 7, 8, 9,10;
Console.WriteLine (t.Sum (valeurs, 0,2)); // Doit être 6
Console.WriteLine (t.Sum (valeurs, 0,9)); // devrait être 55
Console.WriteLine (t.Sum (valeurs, 9,9)); // doit être 10 car la 9e valeur est 10

La boucle For additionne les valeurs de la plage startindex à endindex, donc pour startindex = 0 et endindex = 2, ceci est la somme de 1 + 2 + 3 = 6. Alors que pour 9,9, elle ajoute simplement les valeurs uniques [ 9] = 10.

Dans la fonction, le total de la variable locale est initialisé à 0, puis les parties pertinentes des valeurs du tableau sont ajoutées.