Params es una palabra clave importante en C# . Se utiliza como un parámetro que puede tomar el número variable de argumentos .
Punto importante sobre la palabra clave Params:
- Es útil cuando el programador no tiene ningún conocimiento previo sobre la cantidad de parámetros que se utilizarán.
- Solo se permite una palabra clave Params y no se permitirán Params adicionales en la declaración de función después de una palabra clave params.
- La longitud de los parámetros será cero si no se pasan argumentos.
Ejemplos: para ilustrar el uso de la palabra clave params
- Programa simple para mostrar el uso de palabras clave params
// C# program to illustrate the
// use of params keyword
using
System;
namespace
Examples {
class
Geeks {
// function containing params parameters
public
static
int
Add(
params
int
[] ListNumbers)
{
int
total = 0;
// foreach loop
foreach
(
int
i
in
ListNumbers)
{
total += i;
}
return
total;
}
// Driver Code
static
void
Main(
string
[] args)
{
// Calling function by passing 5
// arguments as follows
int
y = Add(12,13,10,15,56);
// Displaying result
Console.WriteLine(y);
}
}
}
Producción :
106
Explicación: no es necesario definir el tamaño de la array porque al usar la palabra clave params en el programa anterior, los datos enteros tendrán el formato:
ListNumbers
[0] 12
[1] 13
[2] 10
[3] 15
[4] 56 - El tipo de objeto Params permitirá cualquier tipo de argumentos y cualquier número de argumentos de la siguiente manera:
// C# program to illustrate the
// use of object type params
using
System;
namespace
Example2 {
class
Geeks {
// function using object type params
public
void
result(
params
object
[] array)
{
for
(
int
i = 0; i < array.Length; i++)
{
// Display result
Console.WriteLine(array[i]);
}
}
// Driver Code
static
void
Main(
string
[] args)
{
Geeks gfg =
new
Geeks();
// Variable length arguments
gfg.result(
"Geeks"
,
"GFG"
,
"ProGeek Cup 2.0"
,
"G4G"
,
"100"
);
}
}
}
Producción :
Geeks GFG ProGeek Cup 2.0 G4G 100
Explicación: en el programa anterior, el parámetro de parámetros de tipo de objeto puede aceptar cualquier tipo de datos y cualquier cantidad de argumentos.