logo

Parametru Out cu exemple în C#

The afară este un cuvânt cheie în C# care este folosit pentru transmiterea argumentelor către metode ca tip de referință. Este folosită în general atunci când o metodă returnează mai multe valori.

Puncte importante:



  • Este similar cu cuvântul cheie ref. Dar principalul diferența dintre ref și out cuvântul cheie este că ref are nevoie ca variabila să fie inițializată înainte de a fi transmisă metodei. Dar parametrul out nu necesită ca variabilele să fie inițializate înainte de a trece la metodă. Dar înainte de a returna o valoare metodei apelante, variabila trebuie inițializată în metoda apelată.
  • Este, de asemenea, similar cu cuvântul cheie in dar în cuvântul cheie nu permite metodei care a apelat să schimbe valoarea argumentului, dar ref permite.
  • Pentru utilizare afară cuvântul cheie ca parametru, atât definiția metodei, cât și metoda de apelare trebuie să utilizeze afară cuvânt cheie în mod explicit.
  • Parametrii out nu au voie să fie utilizați în metode asincrone.
  • Parametrii out nu au voie să fie utilizați în metodele iteratoare.
  • Într-o metodă poate exista mai mult de un parametru out.
  • În momentul apelării metodei, parametrul out poate fi declarat inline. Dar parametrii inline out pot fi accesați în același bloc de cod în care apelează.
  • Supraîncărcarea metodei poate fi făcută și folosind parametrii.
  • Proprietățile nu pot fi transmise ca parametri, deoarece acestea nu sunt variabile.
  • Până la C# 6.0, un utilizator declară mai întâi variabila, apoi poate trece doar ca argument out. Dar din C# 7.0, cu excepția unei declarații de variabile separate, utilizatorul poate declara și variabila out în lista de argumente a apelului de metodă.

Declarație de parametru:

// No need to initialize // the variable here data_type variable_name; Method_Name(out variable_name); // you can also convert both above two // lines of codes as follows from // C# 7.0 onwards Method_Name(out data_type variable_name);>

Aici valoarea lui nume_variabilă trebuie inițializat în metoda apelată înainte de a returna o valoare.

Exemplu:



C#






// C# program to illustrate the> // concept of out parameter> using> System;> class> GFG {> >// Main method> >static> public> void> Main()> >{> >// Declaring variable> >// without assigning value> >int> i;> >// Pass variable i to the method> >// using out keyword> >Addition(>out> i);> >// Display the value i> >Console.WriteLine(>'The addition of the value is: {0}'>, i);> >}> >// Method in which out parameter is passed> >// and this method returns the value of> >// the passed parameter> >public> static> void> Addition(>out> int> i)> >{> >i = 30;> >i += i;> >}> }>

>

>

Ieșire:

The addition of the value is: 60>

Parametri de ieșire multipli: În C#, unui utilizator i se permite să transmită mai mulți parametri metodei, iar metoda returnează mai multe valori.

Exemplu: În codul de mai jos, am declarat două variabile de valoare fără a inițializa, adică int i, j;. Acum trecem acești parametri metodei Addition folosind un cuvânt cheie cum ar fi Addition(out i, out j);. Valoarea acestor variabile este atribuită în metoda în care au trecut.

C#


conversie șir în int în java



// C# program to illustrate the> // concept of multiple out parameter> using> System;> class> GFG {> >// Main method> >static> public> void> Main()> >{> >// Declaring variables> >// without assigning values> >int> i, j;> >// Pass multiple variable to> >// the method using out keyword> >Addition(>out> i,>out> j);> >// Display the value i and j> >Console.WriteLine(>'The addition of the value is: {0}'>, i);> >Console.WriteLine(>'The addition of the value is: {0}'>, j);> >}> >// Method in which out parameters> >// are passed and this method returns> >// the values of the passed parameters> >public> static> void> Addition(>out> int> p,>out> int> q)> >{> >p = 30;> >q = 40;> >p += p;> >q += q;> >}> }>

>

>

Ieșire:

The addition of the value is: 60 The addition of the value is: 80>

Îmbunătățirea parametrului Out în C# 7.0: În C# 7.0, există câteva caracteristici noi adăugate la parametrul out, iar caracteristicile sunt:

  • În C# 7.0, parametrul out poate trece fără declararea și inițializarea acestuia, care este denumită Declarație în linie a parametrului Out sau implicit Introduceți parametrul . Domeniul său de aplicare este limitat la corpul metodei, adică domeniul local.
  • Parametrul out este permis să fie utilizat a fost introduceți în lista parametrilor metodei.
  • Parametrul out, nu este obligatoriu ca numele parametrului out să fie același atât în ​​definiție, cât și în apel.
  • Poate fi folosit și în Try Pattern.

Exemplu: Programele de mai jos demonstrează declarația inline a parametrului Out. Aici linia de cod, adică Area (out int lungime, out int lățime, out int Rarea); conține declarația inline a parametrului Out, deoarece aceste variabile sunt declarate direct în apelarea metodei. Valoarea variabilelor este inițializată în metoda în care au trecut.

Notă: Trebuie să solicitați versiunea C# 7.0 pentru a rula acest exemplu.

Exemplu:

C#




// C# program to illustrate the> // concept of out parameter> using> System;> class> GFG> {> >// Main method> >static> public> void> Main()> >{> >// In-line declaring variables> >// without assigning values> >// Passing multiple variable to> >// the method using out keyword> >Area(>out> int> length,>out> int> width,>out> int> Rarea);> >// Display the value length, width, and Rarea> >System.Console.WriteLine(>'Length of the rectangle is: '>+ length);> >System.Console.WriteLine(>'Width of the rectangle is: '>+ width);> >System.Console.WriteLine(>'Area of the rectangle is: '>+ Rarea);> >Console.ReadLine();> >}> >// Method in which out parameters are passed> >// and this method returns the values of> >// the passed parameters> >public> static> void> Area(>out> int> p,>out> int> q,>out> int> Rarea)> >{> >p = 30;> >q = 40;> >Rarea = p * q;> >}> }>

>

programe java
>

Ieșire:

Length of the rectangle is : 30 Width of the rectangle is : 40 Area of the rectangle is : 1200>