Section courante

A propos

Section administrative du site

PARAMS

Paramètres
C# (C Sharp)

Syntaxe

typededonnees method(params typededonnees variable,...) {
...
}

Paramètres

Nom Description
method Ce paramètre permet d'indiquer le nom de la méthode.
typededonnees Ce paramètre permet d'indiquer le type de données de la variable ou à retourner.
variable Ce paramètre permet d'indiquer le nom d'une variable.

Description

Ce mot réservé permet d'indiquer une méthode avec un nombre d'arguments variables. On parle donc d'une méthode pouvant aussi bien avoir 1, 2, 3, 5, 10 ou 27 paramètres ou toutes autres nombres de paramètres souhaité par l'utilisateur de cette méthode. Ainsi, le mot réservé params offre la possibilité d'envoyer une liste de paramètres séparés par des virgules du type spécifié dans la déclaration de paramètre ou un tableau de paramètres du type spécifié. Vous pouvez également ne pas envoyer de paramètres. Si vous n'envoyez aucun paramètre, la longueur de la liste de paramètres est 0.

Remarques

Exemples

L'exemple suivant permet d'afficher les 8 nombres premiers :

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. public class ParamsSamples
  6. {
  7.     public static void ShowParams(params int[] list)
  8.     {
  9.         for (int i = 0; i < list.Length; i++)
  10.         {
  11.             Console.Write(list[i] + " ");
  12.         }
  13.         Console.WriteLine();
  14.     }
  15.  
  16.     static void Main()
  17.     {
  18.         ShowParams(2, 3, 5, 7, 11, 13, 17, 19);
  19.     }
  20. }

on obtiendra le résultat suivant :

2 3 5 7 11 13 17 19

L'exemple suivant permet d'émuler un printf du langage de programmation C à l'aide du mot réservé params :

  1. using System.Collections.Generic;
  2. using System.Text;
  3.  
  4. public class printfSamples
  5. {
  6.     public static void printf(String s, params object[] list)
  7.     {
  8.         int currentParam = 0;
  9.         for (int i = 0; i < s.Length;i++ )
  10.         {
  11.             if ('%' == s[i])
  12.             {
  13.                 i++;
  14.                 switch (s[i]) {
  15.                     case 'c':
  16.                     case 'd':
  17.                     case 'f':
  18.                     case 'i':
  19.                     case 's':
  20.                         Console.Write(list[currentParam++]);
  21.                         break;
  22.                     case 'x':
  23.                         Console.Write(((int)list[currentParam++]).ToString("x"));
  24.                         break;
  25.                 }
  26.             } else 
  27.             Console.Write(s[i]);
  28.         }
  29.     }
  30.  
  31.     static void Main()
  32.     {
  33.         printf("Premier=%i, deuxieme=%s, troisieme=%c, hexadecimal=%x", 2, "gladir.com", 'a', 255);
  34.     }
  35. }

on obtiendra le résultat suivant :

Premier=2, deuxieme=gladir.com, troisieme=a, hexadecimal=ff

Dernière mise à jour : Dimanche, le 28 juillet 2019