Parametrii funcțiilor — RexDac Academy

RexDac AcademyNote tehnice · Ajută să ai câteva noțiuni de bază
0%Note publicate citite · pe acest dispozitiv

Nivelul 3 — Funcții

Parametrii funcțiilor

Note originale de SunDiaL · Vezi sursa în engleză

Parametri

Parametrii sunt variabile opționale, folosite pentru a transmite date din exterior în interior atunci când apelezi o funcție. Domeniul lor de vizibilitate se află în interiorul funcției. Parametrii pot fi:

Obligatorii

Standard

Cei pe care îi vei folosi cel mai des:

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

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

Parametri de intrare

Marcați prin cuvântul-cheie in, parametrii de intrare sunt doar pentru citire, iar încercarea de a le modifica valoarea din interiorul funcției produce o eroare de compilare. Un parametru de intrare poate avea o valoare implicită.

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

SomeOtherFunction(in 5);

Parametri de ieșire

Marcați prin cuvântul-cheie out, parametrii de ieșire trebuie să primească o valoare înainte de ieșirea din funcție. Dacă uiți acest lucru, apare o eroare de compilare. Doar variabile pot fi transmise parametrilor out.

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

int y;
SomeOtherFunction(out y);

Parametri prin referință

Marcați prin cuvântul-cheie ref, acești parametri sunt transmiși prin referință. Doar variabile pot fi transmise parametrilor ref.

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

int x
YetAnotherFunction(ref x);

Opționali

Parametrii opționali primesc o valoare implicită atunci când funcția este definită. Când funcția este apelată, li se poate furniza o valoare, dar dacă nu este furnizată niciuna, se folosește valoarea implicită. Parametrii opționali trebuie declarați după parametrii obligatorii.

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

Când apelezi această funcție, poți furniza o valoare pentru y sau o poți omite:

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

Parametri de tip tablou (params)

Marcat prin cuvântul-cheie params, acest parametru al funcției este declarat ca tablou, dar folosit ca și cum ar fi mai mulți parametri separați. Parametrii de tip tablou trebuie declarați după parametrii opționali și poți avea unul singur.

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

Când apelezi această funcție, poți furniza oricâte valori, ca și cum ar fi parametri separați:

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