Jos luot sovelluksen C#-kielellä, olet tottunut kutsumaan funktioita tiettyjen arvojen palauttamiseksi. Joskus voi olla tapauksia, joissa saatat joutua palauttamaan useita arvoja yhdestä funktiosta.

Voit saavuttaa tämän eri tavoilla. Yksi on palauttaa useita arvoja yhden taulukon sisällä. Voit myös määrittää arvoja useille globaaleille muuttujille funktion sisältä.

Liiketoimintalogiikastasi, laajuusvaatimuksistasi tai käytännöistäsi riippuen toinen tapa saavuttaa tämä on käyttää parametreja.

Mikä on Out-parametri?

Tavallinen tapa palauttaa arvo funktiosta on käyttää "return"-avainsanaa. Jos et ole perehtynyt funktioon, voit lukea siitä lisää toimintoja ohjelmoinnissa. Voit myös tutustua muihin ohjelmoinnin perusperiaatteet.

staattinenmitätön Laskeminen() 
{
kaksinkertainen numero = 30;
palata määrä;
}

Toinen tapa noutaa arvo funktiosta on käyttää sen sijaan "out"-parametria. Voit ilmoittaa out-parametrin menetelmän allekirjoituksessa. Voit sitten käyttää "out"-avainsanaa osoittamaan, että parametri on out-parametri.

instagram viewer

Return-avainsanan käyttämisen sijaan sinun on aina määritettävä arvo out-parametrille.

staattinenmitätönLaskeminen(ulos kaksinkertainen määrä)
{
numero = 30;
}

Kun kutsut Calculation()-menetelmää, anna out-parametrin muuttuja. Ohjelma saa "number"-muuttujan arvon Calculation()-funktion sisällä ja määrittää sen syötetylle muuttujalle. Tässä tapauksessa tulostetaan arvo "30".

kaksinkertainen numero = 0;

// Hakee "number"-muuttujan arvon Calculation()-funktion sisällä, joka on 30.
Laskenta (ulosluku);

// Tulostaa luvun 30
Konsoli.WriteLine(määrä);

Kuinka luoda funktio Out-parametrilla

Luo funktio uudessa C#-konsolisovelluksessa ja anna parametrille "out"-avainsana.

  1. Avaa Visual Studio tietokoneellasi ja napsauta Luo uusi projekti.
  2. Valitse Konsolisovellus, ja napsauta Seuraava.
  3. Nimeä projekti ja valitse sijainti Visual Studio -tiedostojen tallentamiseen. Klikkaa Seuraava.
  4. Klikkaa Luoda. Visual Studio luo aloituskoodin yksinkertaiselle konsolisovellukselle.
  5. Luo Main()-funktion alle uusi funktio nimeltä CalculateTaxSalary(). Tämän toiminnon tarkoituksena on vähentää henkilön palkasta vero kotiinkuljetuspalkan laskemiseksi.
    staattinenkaksinkertainenLaske TaxSalary(int palkka, ulos kaksinkertainen taxedAmount)
    {
    }
  6. Lisää funktion sisään laskenta kotipalkasta verojen jälkeen. Palauta tulos.
    staattinenkaksinkertainenLaske TaxSalary(int palkka)
    {
    konstkaksinkertainen veroprosentti = 0.3;
    kaksinkertainen takeHomeSalary = palkka - (palkka * veroprosentti);
    palata otaKotiPalkka;
    }
  7. Poista oletusarvoinen "Hello World" -lähtö päätoiminnosta. Kutsu sen sijaan CalculateTaxSalary()-funktiota. Tulosta funktiosta palautettu tulos konsoliin.
    staattinenmitätön Main (merkkijono[] args)
    {
    kaksinkertainen takeHomeSalary = LaskeTaxSalary(100000);
    Konsoli. WriteLine($"Kotiin otettu palkka alkaen $ 100,000On $ {takeHomeSalary}");
    }
  8. Muokkaa CalculateTaxSalary()-funktiota niin, että sinun on palautettava myös toinen arvo. Toinen arvo sisältää verotetun määrän. Koska käytät jo return-lausetta arvon palauttamiseen, käytä sen sijaan out-parametria. Lisää taxedAmount out -parametri menetelmän allekirjoitukseen.
    staattinenkaksinkertainenLaske TaxSalary(int palkka, ulos kaksinkertainen taxedAmount)
  9. Laske CalculateTaxSalary() -funktiossa palkkaan sovelletun veron määrä. Määritä tulos taxedAmount-muuttujaan.
    staattinenkaksinkertainenLaske TaxSalary(int palkka, ulos kaksinkertainen taxedAmount)
    {
    konstkaksinkertainen veroprosentti = 0.3;
    taxedAmount = palkka * taxRate;
    kaksinkertainen takeHomeSalary = palkka - verotettuAmount;
    palata otaKotiPalkka;
    }

Arvon palauttaminen ulostuloparametrista

Noutaaksesi out-parametrin arvon, kutsu funktio ja tallenna out-parametrin arvo paikalliseen muuttujaan.

  1. Poista olemassa oleva koodi Main()-funktiosta. Luo uusi muuttuja verotetun summan tallentamiseksi.
    kaksinkertainen taxedAmount = 0;
  2. Kutsu CalculateTaxSalary()-funktio. Toiminto palauttaa kotiin viedyn palkan palautuslausunnon avulla. Funktio myös hakee arvon taxedAmount-muuttujasta out-parametrin avulla. Se tallentaa arvon taxedAmount-muuttujaan pääfunktion sisällä.
    kaksinkertainen takeHomeSalary = LaskeTaxSalary(100000, out taxedAmount);
    Konsoli. WriteLine($"Kotiin otettu palkka alkaen $ 100,000On $ {takeHomeSalary}. Verotettu summa oli $ {taxedAmount}.");

Kuinka käyttää useita lähtöparametreja

Jos haluat käyttää useita out-parametreja, luo funktio ja lisää out-avainsana kaikkiin parametreihin, joista haluat palauttaa arvon.

  1. Luo uusi funktio nimeltä MultipleValues(). Lisää kolme ulostuloparametria ja anna kullekin arvo.
    staattinenmitätönUseita arvoja(ulos int a, ulos int b, ulos int c)
    {
    a = 10;
    b = 20;
    c = 30;
    }
  2. Luo Main()-funktiossa paikalliset muuttujat kullekin kolmelle arvolle.
    int a = 0;
    int b = 0;
    int c = 0;
  3. Kutsu MultipleValues()-funktio palauttaaksesi kolme arvoa out-parametrien kautta.
    MultipleValues ​​(out a, out b, out c);
    Konsoli. WriteLine($"a: {a}, b: {b}, c: {c}");

Konsolisovelluksen suorittaminen

Kun suoritat sovelluksen, näyttöön tulee komentokehoteikkuna, joka näyttää sovelluksessasi olevat tulostetut lausunnot.

  1. Napsauta Visual Studio -sovelluksen yläosassa olevaa vihreää toistopainiketta käynnistääksesi konsolisovelluksen.
  2. Visual Studio kääntää ohjelman ja avaa komentokehotteen. Komentorivi näyttää tulostetut tulokset. Tämä sisältää arvot, jotka funktiot palauttivat out-parametreina.

Out-parametrien käyttäminen C#-sovelluskonsolissa

C#:ssa out-parametreilla voit palauttaa useamman kuin yhden arvon funktiosta. Voit ilmoittaa useita out-parametreja menetelmän allekirjoituksessa ja määrittää arvot näille muuttujille funktion sisällä. Kun kutsut funktiota, voit hakea näihin out-parametreihin tallennetut arvot ja käyttää niitä muissa sovelluksen paikoissa.

Jos käsittelet monimutkaisia ​​objekteja ja tietoryhmiä, voit myös palauttaa objekteja luokan perusteella. Voit tutkia lisää luokkien luomisesta ja käyttämisestä C#:ssa.