The ulos on C#:n avainsana, jota käytetään argumenttien välittämiseen menetelmille viitetyyppinä. Sitä käytetään yleensä, kun menetelmä palauttaa useita arvoja.
Tärkeitä kohtia:
- Se on samanlainen kuin ref-avainsana. Mutta pääasia ero ref:n ja outin välillä avainsana on, että ref tarvitsee, että muuttuja on alustettava ennen kuin se siirretään menetelmälle. Mutta out-parametri ei vaadi muuttujien alustusta ennen kuin se siirretään menetelmälle. Mutta ennen kuin se palauttaa arvon kutsuvalle menetelmälle, muuttuja on alustettava kutsutussa menetelmässä.
- Se on myös samanlainen kuin avainsana, mutta sisään avainsana ei salli kutsuneen menetelmän muuttaa argumentin arvoa, mutta viite sallii.
- Käyttöä varten ulos avainsana parametrina sekä metodimäärittelyn että kutsutavan on käytettävä ulos avainsana.
- Out-parametreja ei saa käyttää asynkronisissa menetelmissä.
- Out-parametreja ei saa käyttää iteraattorimenetelmissä.
- Metodissa voi olla useampi kuin yksi out-parametri.
- Metodin kutsun aikana out-parametri voidaan ilmoittaa rivissä. Mutta inline out -parametreja voidaan käyttää samassa koodilohkossa, jossa se kutsuu.
- Menetelmän ylikuormitus voidaan tehdä myös out-parametreilla.
- Ominaisuuksia ei voi välittää parametreina, koska ne eivät ole muuttujia.
- C# 6.0:aan asti käyttäjä ilmoittaa ensin muuttujan, jonka jälkeen se voi välittää vain out-argumenttina. Mutta C# 7.0:sta, erillistä muuttujan ilmoitusta lukuun ottamatta, käyttäjä voi myös ilmoittaa out-muuttujan metodikutsun argumenttiluettelossa.
Ulostuloparametrin ilmoitus:
// 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);>
Tässä arvo muuttujan_nimi on alustettava kutsutussa menetelmässä ennen kuin se palauttaa arvon.
Esimerkki:
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;> >}> }> |
>
>Lähtö:
The addition of the value is: 60>
Useita parametreja: C#:ssa käyttäjä voi lähettää useita parametreja menetelmälle ja menetelmä palauttaa useita arvoja.
Esimerkki: Alla olevassa koodissa ilmoitimme kaksi arvomuuttujaa ilman alustusta, eli int i, j;. Nyt välitämme nämä parametrit Addition-menetelmään käyttämällä out-avainsanaa, kuten Addition(out i, out j);. Näiden muuttujien arvot määritetään menetelmässä, jolla ne läpäisivät.
C#
istunto on vanhentunut
// 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;> >}> }> |
>
>Lähtö:
The addition of the value is: 60 The addition of the value is: 80>
Out-parametrin parannus C# 7.0:ssa: C# 7.0:ssa out-parametriin on lisätty joitain uusia ominaisuuksia, ja ominaisuudet ovat:
- C# 7.0:ssa out-parametri voi kulkea ilman sen ilmoitusta ja alustusta, jota kutsutaan nimellä Out-parametrin rivin ilmoitus tai implisiittistä Kirjoita Out-parametri . Sen soveltamisala on rajoitettu menetelmärunkoon eli paikalliseen soveltamisalaan.
- Out-parametria saa käyttää oli kirjoita menetelmäparametriluetteloon.
- In out -parametri ei ole pakollista, että out-parametrin nimi on sama sekä määritelmässä että kutsussa.
- Sitä voidaan käyttää myös Try Patternissa.
Esimerkki: Alla olevat ohjelmat näyttävät Out-parametrin rivin määrittämisen. Tässä koodirivi eli Area(out int pituus, out int leveys, out int Harvinainen); sisältää Out-parametrin rivin määrityksen, koska nämä muuttujat ilmoitetaan suoraan menetelmäkutsussa. Muuttujien arvot alustetaan siinä menetelmässä, jossa ne läpäisivät.
mikä on java-pino
Huomautus: Tarvitset C# 7.0 -version tämän esimerkin suorittamiseen.
Esimerkki:
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;> >}> }> |
>
>
Lähtö:
Length of the rectangle is : 30 Width of the rectangle is : 40 Area of the rectangle is : 1200>