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 variables

Programmation en C# (C Sharp)



En C#, le nombre de paramètres peut être variable.

Syntaxe :

En C# pour indiquer un nombre de paramètres variable, il faut employer dans la déclaration des paramètres formels, le mot clef params.

params int[ ] liste  pour une liste de paramètres int
params char[ ] liste  pour une liste de paramètres char
params float[ ] liste  pour une liste de paramètres float
....
params object[ ] liste  pour une liste de paramètres object

Sémantique  et utilisation

  • Le mot clef  params doit être le dernier de la liste des paramètres formels.
  • Un seul mot clef  params est autorisé dans la liste des paramètres formels.
  • Le passage ne peut s’effectuer que par valeur (pas de ref, pas de out)
  • La liste de paramètre passés par params peut être vide.

En fait c’est un tableau linéaire du type déclaré par params qui est passé en paramètre.

Exemple :

Déclaration :
static int meth ( int a , out int b, params int [ ] liste) { ... }

Utilisations (plusieurs appels de cette méthode):
int x=10, y=20, z=0;
z = meth ( x, out y, 5, 8, -6);
z = meth ( x, out y, 2, 40);
z = meth ( x, out y, 12);
z = meth ( x, out y, 89,45,78,26,58,102,47);
....



using System;

class Exercice
{
public static int meth ( int a , int b, params int [ ] liste)
{// calcule la somme de tous les paramètres passés
int som=a+b;

// accès à tous les paramètres de la liste :
for(int i=0; i < liste.Length; i++)
som +=liste[ i ];

return som; 
}

public static void Main(string[ ] args) // méthode principale de lancement de l'exécution
{
int x=10, y=20;

// passage de paramètres effectifs :
Console.WriteLine( meth (x, y, 100, 200) );  // 4 paramètres effectifs
Console.WriteLine( meth (x, y, -5, -10,-5,-8,-2) ); // 7 paramètres effectifs
Console.WriteLine( meth (x, y) ); // 2 paramètres effectifs (liste params vide)
Console.ReadLine();
}
}



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