Los parámetros son variables que una función puede recibir cuando es invocada y que se definen en la declaración de una función.
Los parámetros permiten que las funciones sean más reutilizables y modulares (ya que permiten pasar diferentes datos a una misma función).
Si quieres aprender más sobre Parámetros de funciones
consulta el Curso de Introducción a la Programación leer más
Parámetros por valor y referencia
Parámetros por Valor
Los parámetros por valor son los más comunes. Cuando se pasan parámetros por valor, se pasa una copia del valor a la función (lo que significa que cualquier modificación dentro de la función no afecta al valor original)
public void Incrementar(int numero)
{
numero++;
Console.WriteLine(numero); // Muestra 6
}
int valor = 5;
Incrementar(valor);
Console.WriteLine(valor); // Muestra 5
Parámetros por Referencia
Pasar parámetros por referencia permite a la función modificar el valor original de la variable que hemos pasado a la función. Esto se logra usando la palabra clave ref
.
public void Incrementar(ref int numero)
{
numero++;
}
int valor = 5;
Incrementar(ref valor);
Console.WriteLine(valor); // Muestra 6
Parámetros in y out
Parámetros de salida out
Los parámetros out
son similares a los parámetros ref
, pero se utilizan principalmente para devolver múltiples valores desde una función. Es obligatorio asignar un valor al parámetro out
dentro de la función antes de que esta termine.
public void ObtenerValores(out int a, out int b)
{
a = 1;
b = 2;
}
int x, y;
ObtenerValores(out x, out y);
Console.WriteLine($"x: {x}, y: {y}"); // Muestra x: 1, y: 2
Parámetros de entrada in
Los parámetros in
permiten pasar argumentos por referencia pero garantizan que no serán modificados por la función.
public void MostrarValor(in int numero)
{
Console.WriteLine(numero);
}
int valor = 5;
MostrarValor(valor); // Muestra 5
Parámetros opcionales
C# permite definir parámetros opcionales, que son aquellos que tienen un valor predeterminado y pueden ser omitidos al llamar a la función.
public void Saludar(string nombre = "Mundo")
{
Console.WriteLine($"Hola, {nombre}!");
}
Saludar(); // Muestra "Hola, Mundo!"
Saludar("Juan"); // Muestra "Hola, Juan!"
Parámetros nombrados
Los parámetros nombrados permiten especificar explícitamente los nombres de los parámetros al llamar a una función, permitiendo omitir algunos parámetros opcionales.
public void CrearPersona(string nombre, int edad, string ciudad = "Desconocida")
{
Console.WriteLine($"{nombre}, {edad} años, {ciudad}");
}
CrearPersona(edad: 30, nombre: "Ana"); // Muestra "Ana, 30 años, Desconocida"
Parámetros variádicos
Los parámetros variádicos permiten pasar un número variable de argumentos a una función usando la palabra clave params
. Solo se puede tener un parámetro params
y debe ser el último en la lista de parámetros.
public void ImprimirNumeros(params int[] numeros)
{
foreach (int numero in numeros)
{
Console.WriteLine(numero);
}
}
ImprimirNumeros(1, 2, 3, 4, 5); // Muestra 1 2 3 4 5