Sådan returneres flere værdier fra en opkalder i C#

Sadan Returneres Flere Vaerdier Fra En Opkalder I C



Når du arbejder med C#, kan der være situationer, hvor det er påkrævet at returnere flere værdier fra en metode til den, der ringer. Dette kan være en almindelig hændelse, når man beskæftiger sig med komplekse data eller beregninger, og i denne artikel vil vi udforske nogle af de mest almindelige teknikker til at returnere flere værdier i C#.

1: Sådan returnerer du flere værdier til en metodekalder i C# ved at bruge parametre

En anden måde at returnere flere værdier i C# er ved at bruge ud-parametre, og i så fald er en ud-parameter en variabel, der sendes til en metode ved reference, og som kan bruges til at returnere en værdi fra metoden, her er et eksempel:







bruger System;

offentlig klasse program
{
offentlig statisk tomrum Main ( )
{
int [ ] tal = { 3 , 1 , 4 , 1 , 5 , 9 , 2 , 6 , 5 , 3 } ;
int min, max;
GetMinMax ( tal, ud min, ud max ) ;
Console.WriteLine ( $ 'Min: {min}, Maks: {maks}' ) ;
}

offentlig statisk tomrum GetMinMax ( int [ ] tal, ud int min, ud int max )
{
min = tal [ 0 ] ;
max = tal [ 0 ] ;

til ( int i = 1 ; jeg < tal.Længde; i++ )
{
hvis ( tal [ jeg ] < min )
{
min = tal [ jeg ] ;
}
hvis ( tal [ jeg ] > max )
{
max = tal [ jeg ] ;
}
}
}
}


I dette tager GetMinMax-metoden et heltalsarray som input sammen med to ud-parametre for min og max. Nøgleordet out bruges til at angive, at disse variabler vil blive brugt til at gemme outputværdierne fra metoden.



Inden for metoden initialiseres min- og max-variablerne til den første værdi i input-arrayet. Metoden itererer derefter gennem de resterende værdier i arrayet, og opdaterer min og maks variablerne efter behov baseret på de stødte værdier.



Til sidst, når metoden er fuldført, returneres de opdaterede værdier for min og max gennem ud-parametrene. I Main-metoden udskrives disse outputværdier til konsollen ved hjælp af WriteLine-metoden.





Brug af nøgleordet ud til at returnere flere værdier kan være en nyttig teknik i situationer, hvor du skal returnere mere end én værdi fra en metode. Det er dog værd at bemærke, at brugen af ​​ud-parametre kan gøre kode sværere at læse og forstå, især når man har at gøre med mere kompleks kode, og det er generelt en bedre idé at bruge denne teknik sparsomt og kun når det er nødvendigt.



2: Sådan returneres flere værdier til en metodekalder i C# ved hjælp af en brugerdefineret klasse

En tredje måde at returnere flere værdier i C# er ved at bruge en brugerdefineret klasse og oprette en klasse, der indeholder egenskaber eller felter for hver værdi, som du vil returnere og derefter returnere en forekomst af klassen fra din metode, her er et eksempel:

bruger System;

navneområde Mit navneområde
{
offentlig klasse MinMaxResult
{
offentlig int. Min { få; sæt ; }
offentlig int. Max { få; sæt ; }
}
offentlig statisk klasse MinMaxCalculator
{
offentlig statisk MinMaxResult GetMinMax ( int [ ] tal )
{
int min = tal [ 0 ] ;
int max = tal [ 0 ] ;
til ( int i = 1 ; jeg < tal.Længde; i++ )
{
hvis ( tal [ jeg ] < min )
{
min = tal [ jeg ] ;
}
hvis ( tal [ jeg ] > max )
{
max = tal [ jeg ] ;
}
}
Vend tilbage nyt MinMaxResult { Min = min, Max = maks } ;
}
}
klasses program
{
statisk tomrum Main ( snor [ ] args )
{
int [ ] tal = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
MinMaxResult result = MinMaxCalculator.GetMinMax ( tal ) ;
Console.WriteLine ( $ 'Min: {result.Min}, Max: {result.Max}' ) ;
}
}
}


Denne C#-kode definerer et navneområde med navnet 'MyNamespace', som indeholder to klasser: 'MinMaxResult' og 'MinMaxCalculator'.

Klassen 'MinMaxResult' har to egenskaber: 'Min' og 'Max', som bruges til at gemme henholdsvis minimums- og maksimumværdierne.

Klassen 'MinMaxCalculator' er erklæret som statisk og har en enkelt metode kaldet 'GetMinMax', som tager et array af heltal som input. Denne metode bruger en loop til at iterere gennem arrayet og finde minimums- og maksimumværdierne. Den opretter derefter en ny forekomst af klassen 'MinMaxResult' og initialiserer dens 'Min' og 'Max' egenskaber med de fundne værdier, før den returnerer den som metodens output.

Endelig indeholder 'Program'-klassen en statisk metode kaldet 'Main', som er indgangspunktet for programmet, og i denne metode initialiseres en række heltal og overføres til 'GetMinMax'-metoden i klassen 'MinMaxCalculator' for at opnå minimums- og maksimumværdierne.

Konklusion

At returnere flere værdier til en metodekalder i C# kan være en vigtig funktion, når man arbejder med komplekse data eller beregninger. Ved at forstå de forskellige tilgængelige teknikker til at returnere flere værdier, såsom ud-parametre og brugerdefinerede klasser, kan du vælge den bedste tilgang til din specifikke situation. Brug af disse teknikker kan gøre din kode mere effektiv, lettere at læse og i sidste ende forbedre din applikations ydeevne.