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 dans certains autres langages, les fonctions n'existent pas par elles-mêmes. Ils font partie d'un orienté objet approche de la programmation.

Un programme pour gérer 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 une 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

instagram viewer
Test de classe {}, mais ce n'est pas utile. Bien qu'il semble vide, il - comme toutes les classes C # - hérite de l'objet qui le contient et inclut une valeur par défaut constructeur 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. Dis bonjour() ;
Console. ReadKey ();
}
}
}

Cet exemple de code comprend Console. ReadKey (), donc lorsqu'il s'exécute, il affiche la fenêtre de la console et attend une entrée de touche 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" et fermerait le 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 que vous 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. Mon âge();
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. Mon âge(); 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 de ints, l'indice 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

Le pour boucle additionne les valeurs de la plage startindex à endindex, donc pour startindex = 0 et endindex = 2, c'est la somme de 1 + 2 + 3 = 6. Alors que pour 9,9, il 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.

instagram story viewer