Parametri variabili in C# con params



Un po’ come per i Varargs in Java anche in C# è possibile passare un numero variabile di parametri (o argomenti) ad un metodo.

Per farlo viene utilizzata la parola chiave params nella dichiarazione dei parametri del metodo.

Questa parola chiave lavora con gli array, e può essere “assegnata” solo all’ultimo parametro di un metodo.

Ma vediamo un esempio:

public int Sum(params int[] numbers)
{
int tot = 0;
for (int j = 0; j < numbers.Length; j++)
{
tot += numbers[j];
}
return tot;
}

La funzione è praticamente identica a quella che si avrebbe usando un array, ma con una differenza importante: usanto params, infatti, ora non è necessario passare gli argomenti in questa maniera:

int[] nums = {4, 6, 9, 1};
Sum(nums);

Questa modalità, infatti, è abbastanza lenta, in confronto all’uso di params, che permette di richiamare il metodo semplicemente passandogli un numero arbitrario di parametri che andranno poi a formare l’array:

Sum(4); //return 4
Sum(7, 7, 1); //return 15
Sum(4, 4); //return 8
Sum(); //return 0

In questo modo si ha un notevole miglioramento sia come leggibilità del codice che come velocità di scrittura.

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
Pinterest