Hvis du oppretter en applikasjon i C#, vil du være vant til å kalle opp funksjoner for å returnere spesifikke verdier. Noen ganger kan det være tilfeller der du må returnere flere verdier fra en enkelt funksjon.

Det er forskjellige måter du kan oppnå dette på. Den ene er å returnere flere verdier i en enkelt matrise. Du kan også tilordne verdier til flere globale variabler, fra funksjonen.

Avhengig av forretningslogikken, omfangskravene eller konvensjonene, er en annen måte å oppnå dette på å bruke ut parametere.

Hva er en ut-parameter?

Standardmåten for å returnere en verdi fra en funksjon er å bruke nøkkelordet "retur". Hvis du er ukjent med hva en funksjon er, kan du lese mer om funksjoner i programmering. Du kan også utforske andre grunnleggende programmeringsprinsipper.

statisktomrom Beregning() 
{
dobbelt tall = 30;
komme tilbake Antall;
}

En annen måte å hente en verdi fra en funksjon på er å bruke en "ut"-parameter i stedet. Du kan deklarere en ut-parameter i signaturen til metoden. Du kan deretter bruke nøkkelordet "ut" for å angi at parameteren er en ut-parameter.

instagram viewer

I stedet for å bruke returnøkkelordet, må du alltid tilordne en verdi til ut-parameteren.

statisktomromBeregning(ute dobbelt Antall)
{
tall = 30;
}

Når du kaller Calculation()-metoden, sender du inn en variabel for ut-parameteren. Programmet vil få verdien av "number"-variabelen inne i Calculation()-funksjonen, og tilordne den til den inntastede variabelen. I dette tilfellet vil verdien "30" sendes ut.

dobbelt tall = 0;

// Henter verdien av "number"-variabelen inne i Calculation()-funksjonen, som er 30.
Beregning (ut nummer);

// Skriver ut tallet 30
Konsoll.WriteLine(Antall);

Hvordan lage en funksjon med en ut-parameter

Lag en funksjon inne i en ny C#-konsollapplikasjon, og gi parameteren nøkkelordet "out".

  1. Åpne Visual Studio på datamaskinen, og klikk på Opprett et nytt prosjekt.
  2. Plukke ut Konsollapplikasjon, og klikk på Neste.
  3. Gi prosjektet et navn, og velg en plassering for å lagre Visual Studio-filene dine. Klikk på Neste.
  4. Klikk på Skape. Visual Studio vil generere startkoden for en enkel konsollapplikasjon.
  5. Under Main()-funksjonen oppretter du en ny funksjon kalt CalculateTaxSalary(). Målet med denne funksjonen er å trekke skatten fra en persons lønn for å beregne hjemtakslønnen.
    statiskdobbeltBeregn SkatteLønn(int lønn, ut dobbelt taxedAmount)
    {
    }
  6. Inne i funksjonen legger du til beregningen for hjemtakslønn etter skatt. Returner resultatet.
    statiskdobbeltBeregn SkatteLønn(int lønn)
    {
    konstdobbelt skattesats = 0.3;
    dobbelt takeHomeSalary = lønn - (lønn * skattesats);
    komme tilbake taHjemLønn;
    }
  7. Fjern standard "Hello World"-utgang i hovedfunksjonen. I stedet kaller du CalculateTaxSalary()-funksjonen. Skriv ut resultatet returnert fra funksjonen til konsollen.
    statisktomrom Hoved (streng[] args)
    {
    dobbelt takeHomeSalary = CalculateTaxSalary(100000);
    Konsoll. WriteLine($"Take-hjem-lønnen fra $ 100,000er $ {takeHomeSalary}");
    }
  8. Endre funksjonen CalculateTaxSalary() slik at du også må returnere en andre verdi. Den andre verdien vil inneholde skattebeløpet. Siden du allerede bruker return-setningen for å returnere en verdi, bruk en ut-parameter i stedet. Legg til en taxedAmount out-parameter til metodesignaturen.
    statiskdobbeltBeregn SkatteLønn(int lønn, ut dobbelt taxedAmount)
  9. Inne i CalculateTaxSalary()-funksjonen beregner du skattebeløpet på lønnen. Tilordne resultatet til taxedAmount-variabelen.
    statiskdobbeltBeregn SkatteLønn(int lønn, ut dobbelt taxedAmount)
    {
    konstdobbelt skattesats = 0.3;
    taxedAmount = lønn * taxRate;
    dobbelt takeHomeSalary = lønn - taxedAmount;
    komme tilbake taHjemLønn;
    }

Hvordan returnere en verdi fra en ut-parameter

For å hente verdien til en ut-parameter, kall opp funksjonen og lagre verdien til ut-parameteren i en lokal variabel.

  1. Fjern den eksisterende koden fra Main()-funksjonen. Opprett en ny variabel for å lagre skattebeløpet.
    dobbelt taxedAmount = 0;
  2. Kalle opp CalculateTaxSalary()-funksjonen. Funksjonen vil returnere hjemtakslønnen ved bruk av returoppgaven. Funksjonen vil også hente verdien fra taxedAmount-variabelen, ved å bruke ut-parameteren. Den vil lagre verdien i taxedAmount-variabelen inne i hovedfunksjonen.
    dobbelt takeHomeSalary = CalculateTaxSalary(100000, ut taxedAmount);
    Konsoll. WriteLine($"Take-hjem-lønnen fra $ 100,000er $ {takeHomeSalary}. Beløpet som ble skattlagt var $ {taxedAmount}.");

Slik bruker du flere ut-parametere

For å bruke flere ut-parametere, lag en funksjon og legg til nøkkelordet ut til alle parameterne du ønsker å returnere en verdi fra.

  1. Lag en ny funksjon kalt MultipleValues(). Legg til tre ut parametere og tilordne en verdi til hver av dem.
    statisktomromFlere verdier(ute int a, ut int b, ut int c)
    {
    a = 10;
    b = 20;
    c = 30;
    }
  2. I Main()-funksjonen oppretter du lokale variabler for hver av de tre verdiene.
    int a = 0;
    int b = 0;
    int c = 0;
  3. Kall MultipleValues()-funksjonen for å returnere de tre verdiene gjennom ut-parameterne.
    MultipleValues ​​(ut a, ut b, ut c);
    Konsoll. WriteLine($"a: {a}, b: {b}, c: {c}");

Slik kjører du konsollapplikasjonen

Når du kjører programmet, åpnes et ledetekstvindu som viser deg eventuelle utskrevne uttalelser i programmet.

  1. Øverst i Visual Studio-applikasjonen klikker du på den grønne avspillingsknappen for å starte konsollapplikasjonen.
  2. Visual Studio vil kompilere programmet og åpne en ledetekst. Kommandoprompten vil vise de utsendte resultatene. Dette inkluderer verdiene som funksjonene returnerte som ut-parametere.

Bruke ut-parametere i en C#-applikasjonskonsoll

I C# lar ut parametere deg returnere mer enn én verdi fra en funksjon. Du kan deklarere flere ut parametere i signaturen til metoden og tilordne verdier til disse variablene inne i funksjonen. Når du kaller opp funksjonen, kan du hente verdiene som er lagret i disse ut-parametrene og bruke dem andre steder i applikasjonen.

Hvis du har å gjøre med komplekse objekter og grupper av data, kan du også returnere objekter basert på en klasse. Du kan utforske mer om hvordan du oppretter og bruker klasser i C#.