Jei kuriate programą C#, būsite įpratę iškviesti funkcijas, kad pateiktumėte konkrečias reikšmes. Kartais gali tekti grąžinti kelias reikšmes iš vienos funkcijos.
Yra įvairių būdų, kaip tai pasiekti. Vienas iš jų yra grąžinti kelias reikšmes viename masyve. Be to, funkcijos viduje galite priskirti reikšmes keliems visuotiniams kintamiesiems.
Priklausomai nuo jūsų verslo logikos, apimties reikalavimų ar susitarimų, kitas būdas tai pasiekti yra naudoti parametrus.
Kas yra išėjimo parametras?
Standartinis būdas grąžinti reikšmę iš funkcijos yra naudoti raktinį žodį „return“. Jei nesate susipažinę su funkcija, galite perskaityti daugiau funkcijos programuojant. Taip pat galite tyrinėti kitus pagrindiniai programavimo principai.
statinistuštuma Skaičiavimas ()
{
dvigubai skaičius = 30;
grąžinti numeris;
}
Kitas būdas gauti reikšmę iš funkcijos yra naudoti „out“ parametrą. Metodo paraše galite deklaruoti išėjimo parametrą. Tada galite naudoti raktinį žodį „out“, kad nurodytumėte, jog parametras yra išėjimo parametras.
Užuot naudoję grąžinimo raktinį žodį, visada turite priskirti reikšmę out parametrui.
statinistuštumaSkaičiavimas(išeina dvigubai numeris)
{
skaičius = 30;
}
Kai iškviečiate metodą Calculation(), pateikite out parametro kintamąjį. Programa gaus „numerio“ kintamojo reikšmę Calculation() funkcijoje ir priskirs ją įvestam kintamajam. Tokiu atveju bus išvesta reikšmė "30".
dvigubai skaičius = 0;
// Gauna kintamojo "skaičius" reikšmę Calculation() funkcijoje, kuri yra 30.
Skaičiavimas (išeinantis skaičius);
// Išspausdina skaičių 30
Konsolė.WriteLine(numerį);
Kaip sukurti funkciją naudojant išėjimo parametrą
Sukurkite funkciją naujoje C# konsolės programoje ir suteikite parametrui raktinį žodį „out“.
- Kompiuteryje atidarykite „Visual Studio“ ir spustelėkite Sukurkite naują projektą.
- Pasirinkite Konsolės programair spustelėkite Kitas.
- Pavadinkite savo projektą ir pasirinkite vietą, kurioje norite saugoti Visual Studio failus. Spustelėkite Kitas.
- Spustelėkite Sukurti. „Visual Studio“ sugeneruos paprastos konsolės programos pradžios kodą.
- Po funkcija Main() sukurkite naują funkciją, pavadintą CalculateTaxSalary(). Šios funkcijos tikslas – išskaičiuoti mokestį iš asmens darbo užmokesčio, kad būtų galima apskaičiuoti jo darbo užmokestį į namus.
statinisdvigubaiApskaičiuokite Mokesčių atlyginimą(tarpt atlyginimas, išeiti dvigubai taxedAmount)
{
} - Funkcijoje pridėkite atlyginimo į namus apskaičiavimą atskaičius mokesčius. Grąžinkite rezultatą.
statinisdvigubaiApskaičiuokite Mokesčių atlyginimą(tarpt atlyginimas)
{
konstdvigubai mokesčių tarifas = 0.3;
dvigubai takeHomeSalary = alga - (alga * taxRate);
grąžinti pasiimtiNamoAtlyginimas;
} - Pašalinkite numatytąją „Hello World“ išvestį iš pagrindinės funkcijos. Vietoj to iškvieskite funkciją CalculateTaxSalary(). Spausdinkite iš funkcijos grąžintą rezultatą į konsolę.
statinistuštuma Pagrindinis (string[] args)
{
dvigubai takeHomeSalary = ApskaičiuotiTaxSalary(100000);
Konsolė. WriteLine($"Atlyginimas į namus iš $ 100,000yra $ {takeHomeSalary}");
} - Modifikuokite funkciją CalculateTaxSalary() taip, kad taip pat reikėtų grąžinti antrą reikšmę. Antroje vertėje bus apmokestinta suma. Kadangi jau naudojate teiginį return vertei grąžinti, vietoj jo naudokite parametrą out. Prie metodo parašo pridėkite parametrą taxedAmount out.
statinisdvigubaiApskaičiuokite Mokesčių atlyginimą(tarpt atlyginimas, išeiti dvigubai taxedAmount)
- Funkcijoje CalculateTaxSalary() apskaičiuokite atlyginimui taikomo mokesčio sumą. Priskirkite rezultatą taxedAmount kintamajam.
statinisdvigubaiApskaičiuokite Mokesčių atlyginimą(tarpt atlyginimas, išeiti dvigubai taxedAmount)
{
konstdvigubai mokesčių tarifas = 0.3;
taxedAmount = atlyginimas * taxRate;
dvigubai takeHomeSalary = atlyginimas - taxedAmount;
grąžinti pasiimtiNamoAtlyginimas;
}
Kaip grąžinti vertę iš išorinio parametro
Norėdami gauti išėjimo parametro reikšmę, iškvieskite funkciją ir išsaugokite išėjimo parametro reikšmę vietiniame kintamajame.
- Pašalinkite esamą kodą iš funkcijos Main(). Sukurkite naują kintamąjį, kad išsaugotumėte apmokestinamąją sumą.
dvigubai taxedAmount = 0;
- Iškvieskite funkciją CalculateTaxSalary(). Funkcija grąžins parsineštą atlyginimą naudodama grąžinimo ataskaitą. Funkcija taip pat nuskaitys vertę iš taxedAmount kintamojo, naudodama parametrą out. Jis išsaugos vertę taxedAmount kintamajame pagrindinės funkcijos viduje.
dvigubai takeHomeSalary = ApskaičiuotiTaxSalary(100000, out taxedAmount);
Konsolė. WriteLine($"Atlyginimas į namus iš $ 100,000yra $ {takeHomeSalary}. Suma, kuri buvo apmokestinta, buvo $ {taxedAmount}.");
Kaip naudoti kelis išvesties parametrus
Norėdami naudoti kelis išvesties parametrus, sukurkite funkciją ir pridėkite raktinį žodį out prie visų parametrų, iš kurių norite grąžinti reikšmę.
- Sukurkite naują funkciją pavadinimu MultipleValues (). Pridėkite tris parametrus ir kiekvienam iš jų priskirkite reikšmę.
statinistuštumaMultipleValues(išeina tarpt a, išeina tarpt b, išeina tarpt c)
{
a = 10;
b = 20;
c = 30;
} - Funkcijoje Main() sukurkite vietinius kintamuosius kiekvienai iš trijų reikšmių.
tarpt a = 0;
tarpt b = 0;
tarpt c = 0; - Iškvieskite funkciją MultipleValues(), kad grąžintumėte tris reikšmes per išvesties parametrus.
MultipleValues (out a, out b, out c);
Konsolė. WriteLine ($"a: {a}, b: {b}, c: {c}");
Kaip paleisti konsolės programą
Kai paleisite programą, atsidarys komandų eilutės langas, kuriame bus rodomi visi išspausdinti jūsų programos teiginiai.
- Programos „Visual Studio“ viršuje spustelėkite žalią paleidimo mygtuką, kad paleistumėte konsolės programą.
- „Visual Studio“ sukompiliuos programą ir atidarys komandų eilutę. Komandų eilutėje bus rodomi išvesti rezultatai. Tai apima reikšmes, kurias funkcijos grąžino kaip išorinius parametrus.
Išvesties parametrų naudojimas C# programų konsolėje
C# kalboje out parametrai leidžia grąžinti daugiau nei vieną funkcijos reikšmę. Metodo paraše galite deklaruoti kelis išvesties parametrus ir priskirti reikšmes šiems kintamiesiems funkcijos viduje. Kai iškviečiate funkciją, galite gauti šiuose išvesties parametruose saugomas reikšmes ir naudoti jas kitose programos vietose.
Jei dirbate su sudėtingais objektais ir duomenų grupėmis, taip pat galite grąžinti objektus pagal klasę. Galite sužinoti daugiau apie tai, kaip kurti ir naudoti klases C#.