logo

Ārējais parametrs ar piemēriem C#

The ārā ir atslēgvārds valodā C#, ko izmanto argumentu nodošanai metodēm kā atsauces veidu. To parasti izmanto, ja metode atgriež vairākas vērtības.

Svarīgi punkti:



  • Tas ir līdzīgs ref atslēgvārdam. Bet galvenais atšķirība starp ref un out Atslēgvārds ir tāds, ka ref ir nepieciešams, lai mainīgais būtu inicializēts, pirms tas tiek nodots metodei. Bet parametram nav nepieciešams inicializēt mainīgos, pirms tie tiek nodoti metodei. Bet, pirms tas atgriež vērtību izsaukšanas metodei, mainīgais ir jāinicializē izsauktajā metodē.
  • Tas ir arī līdzīgs atslēgvārdam in, bet iekšā atslēgvārds neļauj izsauktajai metodei mainīt argumenta vērtību, bet ref ļauj.
  • Lietošanai ārā atslēgvārds kā parametrs ir jāizmanto gan metodes definīcijai, gan izsaukšanas metodei ārā atslēgvārds.
  • Izejas parametrus nav atļauts izmantot asinhronās metodēs.
  • Izejas parametrus nav atļauts izmantot iteratora metodēs.
  • Metodē var būt vairāk nekā viens izejas parametrs.
  • Metodes izsaukšanas laikā izejas parametru var deklarēt iekļautā veidā. Bet iekļautajiem izejas parametriem var piekļūt tajā pašā koda blokā, kur tas izsauc.
  • Metodes pārslodzi var veikt arī, izmantojot izejas parametrus.
  • Rekvizītus nevar nodot kā parametrus, jo tie nav mainīgie.
  • Līdz C# 6.0 lietotājs vispirms deklarē mainīgo, pēc tam to var nodot tikai kā izejas argumentu. Bet no C# 7.0, izņemot atsevišķu mainīgā deklarāciju, lietotājs var arī deklarēt out mainīgo metodes izsaukuma argumentu sarakstā.

Ārējā parametra deklarācija:

// 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);>

Šeit ir vērtība mainīgā_nosaukums ir jāinicializē izsauktajā metodē, pirms tā atgriež vērtību.

Piemērs:



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;> >}> }>

>

>

Izvade:

The addition of the value is: 60>

Vairāki parametri: C# valodā lietotājs var nosūtīt metodei vairākus parametrus, un metode atgriež vairākas vērtības.

Piemērs: Zemāk esošajā kodā mēs deklarējām divus vērtību mainīgos bez inicializācijas, t.i., int i, j;. Tagad mēs nododam šos parametrus pievienošanas metodei, izmantojot tādu atslēgvārdu kā Addition (out i, out j);. Šo mainīgo lielumu vērtība tiek piešķirta metodē, kurā tie tika nodoti.

C#


unix augšējā komanda



// 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;> >}> }>

>

attēls kā fons css

>

Izvade:

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

Out parametra uzlabošana C# 7.0: Programmā C# 7.0 izejas parametram ir pievienotas dažas jaunas funkcijas, un tās ir šādas:

  • Programmā C# 7.0 izejas parametrs var iziet bez tā deklarēšanas un inicializācijas, ko sauc par Parametra Out deklarācija rindā vai netieši Ierakstiet Out Parameter . Tās darbības joma ir ierobežota līdz metodes pamattekstam, t.i., lokālajam tvērumam.
  • Ir atļauts izmantot parametru Out bija ierakstiet metodes parametru sarakstā.
  • In out parametrs nav obligāti, lai izejas parametra nosaukums būtu vienāds gan definīcijā, gan izsaukumā.
  • To var izmantot arī izmēģināšanas modelī.

Piemērs: Zemāk esošās programmas parāda Out parametra iekļauto deklarāciju. Šeit ir koda rindiņa, t.i., laukums (out int garums, out int platums, out int Reta); satur Out parametra iekļauto deklarāciju, jo šie mainīgie tiek tieši deklarēti metodes izsaukšanas ietvaros. Mainīgo lielumu vērtība tiek inicializēta metodē, kurā tie tika nodoti.

Piezīme: Lai palaistu šo piemēru, ir nepieciešama C# 7.0 versija.

Piemērs:

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;> >}> }>

>

>

Izvade:

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