logo

Ut-parameter med eksempler i C#

De ute er et nøkkelord i C# som brukes for å sende argumentene til metoder som referansetype. Det brukes vanligvis når en metode returnerer flere verdier.

Viktige punkter:



  • Det ligner på ref nøkkelord. Men det viktigste forskjell på ref og ut nøkkelordet er at ref trenger at variabelen må initialiseres før den overføres til metoden. Men ut-parameteren krever ikke at variablene initialiseres før den overføres til metoden. Men før den returnerer en verdi til den kallende metoden, må variabelen initialiseres i den kalte metoden.
  • Det ligner også på søkeordet i men i nøkkelordet tillater ikke metoden som kalte å endre argumentverdien men ref muliggjør.
  • For bruk ute nøkkelord som en parameter både metodedefinisjonen og kallemetoden må bruke ute søkeord eksplisitt.
  • Ut-parametrene er ikke tillatt å bruke i asynkrone metoder.
  • Ut-parametrene er ikke tillatt å bruke i iteratormetoder.
  • Det kan være mer enn én ut-parameter i en metode.
  • På tidspunktet for metodekall kan ut-parameteren deklareres inline. Men inline out-parametrene kan nås i samme kodeblokk som den kaller.
  • Metodeoverbelastning kan også gjøres ved å bruke ut parametere.
  • Egenskaper kan ikke sendes ut som parametere da disse ikke er variabler.
  • Opp til C# 6.0, erklærer en bruker først variabelen, så kan den bare sendes som et ut-argument. Men fra C# 7.0, bortsett fra en separat variabeldeklarasjon, kan brukeren også deklarere ut-variabelen i argumentlisten til metodekallet.

Erklæring om ut parameter:

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

Her verdien av variabelnavn må initialiseres i den kalte metoden før den returnerer en verdi.

Eksempel:



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

>

>

Produksjon:

The addition of the value is: 60>

Flere ut parametere: I C# har en bruker lov til å sende flere ut parametere til metoden og metoden returnerer flere verdier.

Eksempel: I koden nedenfor erklærte vi to verdivariabler uten å initialisere, dvs. int i, j;. Nå sender vi disse parameterne til addisjonsmetoden ved å bruke ut nøkkelord som Addisjon(ut i, ut j);. Verdien av disse variablene er tilordnet i metoden de passerte.

C#


Linux gratis ipconfig



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

>

lage tabeller i lateks
>

Produksjon:

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

Forbedring av ut-parameter i C# 7.0: I C# 7.0 er det noen nye funksjoner lagt til ut-parameteren, og funksjonene er:

  • I C# 7.0 kan ut-parameteren passere uten dens erklæring og initialisering, som kalles In-line erklæring om Out-parameter eller implisitt Skriv ut parameter . Dens omfang er begrenset til metodekroppen, dvs. lokalt omfang.
  • Ut-parameteren er tillatt å bruke var skriv inn metodeparameterlisten.
  • In out-parameteren er det ikke obligatorisk at navnet på ut-parameteren er det samme i både definisjon og kall.
  • Den kan også brukes i Try Pattern.

Eksempel: Programmene nedenfor viser den innebygde deklarasjonen av Out-parameteren. Her linjen med kode, dvs. Area (ut int lengde, ut int bredde, ut int Sjeldent); inneholder den innebygde deklarasjonen av Out-parameteren ettersom disse variablene er direkte deklarert inne i metodekallet. Verdien av variablene initialiseres i metoden de passerte.

Merk: Du må kreve C# 7.0-versjon for å kjøre dette eksemplet.

Eksempel:

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

>

>

Produksjon:

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