Parámetros de funciones — RexDac Academy

RexDac AcademyNotas técnicas · Ayuda tener algunos conocimientos previos
0%Notas publicadas leídas · en este dispositivo

Nivel 3 — Funciones

Parámetros de funciones

Notas originales de SunDiaL · Ver fuente en inglés

Parámetros

Los parámetros son variables opcionales utilizadas para pasar datos del exterior al interior al llamar a una función. Su ámbito está dentro de la función. Los parámetros pueden ser:

Obligatorios

Estándar

Los que utilizarás la mayor parte del tiempo:

int Add(int x, int y)
{
	return x + y;
}

int result = Add(2,3); //5

Parámetros de entrada

Marcados con la palabra clave in, los parámetros de entrada son de solo lectura. Intentar cambiar su valor desde dentro de la función provoca un error de compilación. Un parámetro de entrada puede tener un valor predeterminado.

void SomeOtherFunction(in int x)
{
	x = 5; //will show a compiler error because x cannot be changed
}

SomeOtherFunction(in 5);

Parámetros de salida

Marcados con la palabra clave out, los parámetros de salida deben recibir un valor antes de salir de la función. Olvidarlo provoca un error de compilación. Solo se pueden pasar variables a los parámetros out.

void SomeOtherFunction(out int y)
{
	//will also show a compiler error because y must be given a value
}

int y;
SomeOtherFunction(out y);

Parámetros por referencia

Marcados con la palabra clave ref, estos parámetros se pasan por referencia. Solo se pueden pasar variables a los parámetros ref.

void YetAnotherFunction(ref int x)
{
	//do something
}

int x
YetAnotherFunction(ref x);

Opcionales

Los parámetros opcionales reciben un valor predeterminado cuando se define la función. Al llamarla, se les puede proporcionar un valor; si no se proporciona, se utiliza el predeterminado. Los parámetros opcionales deben declararse después de los obligatorios.

int Add(int x, int y = 5)
{
	return x + y;
}

Al llamar a esta función, puedes proporcionar un valor para y u omitirlo:

Add(2,3);
Add(2); //5 will be used for y

Parámetros de array (params)

Marcado con la palabra clave params, este parámetro de función se declara como un array, pero se utiliza como si fueran varios parámetros independientes. Los parámetros de array deben declararse después de los opcionales, y solo puede haber uno.

int Sum(params int[] numbers)
{
	int sum = 0;
	foreach(int nr in numbers)
	{
		sum += nr;
	}
	return sum;
}

Al llamar a esta función, puedes proporcionar tantos valores como quieras, como si fueran parámetros independientes:

Sum(1,2,3,4,5);