Getsuyodev, Programming is mainly used when constructing an application. Programming requires knowledge of application domains, algorithms, and programming language expertise. Programming can be developed in different logic based on developer knowledge.

C Sharp – Paramètres par valeur

Programmation en C# (C Sharp)



Les paramètres formels d’une méthode jouent le rôle de variables muettes et servent à décrire le fonctionnement de la méthode.

En C#, le passage par valeur des paramètres effectifs est valable pour tous les types élémentaires (int, byte, short, long, bool, double, float, char) et les objets.

En C# tous les paramètres sont passés par défaut par valeur (lorsque le paramètre est un objet, c’est en fait la référence de l’objet qui est passée par valeur).

Syntaxe :

Sémantique :

Dans un passage par valeur, le paramètre formel est considéré comme une variable locale dans le corps de la méthode. Sa valeur est initialisée au début de chaque exécution  de la méthode avec la valeur du paramètre effectif correspondant.

Il y a recopie de la valeur du paramètre effectif dans une zone spécifique locale à la procédure. Toutes les opérations qui sont effectuées sur le paramètre formel n’affectent que cette valeur locale.

int calculer( char a, byte b, float x )  les 3 paramètres a, b et x sont passés par valeur
bool tester( bool k)  le  paramètres k est passé par valeur
void uncalcul( int x, int y, int z )  les 3 paramètres x, y et z sont passés par valeur


using System;

class Exercice
{
public static void Main(string[ ] args) // méthode principale de lancement de l'exécution
{
int a, b, c;
a=10;
b=20;
c=0;
Console.WriteLine("( avant appel de somme1( ) ) a = "+a+" , b = "+b+" et  c = "+c);
c=somme1(a,b);
Console.WriteLine("( après appel de somme1( ) ) a = "+a+" , b = "+b+" et  c = "+c);
Console.WriteLine("(----------------------------------------------------------------------");
a=10;
b=20;
c=0;
Console.WriteLine("( avant appel de somme2( ) ) a = "+a+" , b = "+b+" et  c = "+c);
c=somme2(a,b);
Console.WriteLine("( après appel de somme2( ) ) a = "+a+" , b = "+b+" et  c = "+c);
Console.ReadLine();
}
public static int somme1( int x , int y) // méthode avec paramètres transmis par valeur
{
return x+y ;
}
public static int somme2( int x , int y) // méthode avec paramètres transmis par valeur
{
x = 100 ; // c'est la copie locale du paramètre x qui est modifiée !
return x+y ;
}

}



Comments are closed, but trackbacks and pingbacks are open.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More