Meerdere waarden retourneren van een beller in C#

Meerdere Waarden Retourneren Van Een Beller In C



Bij het werken met C# kunnen er situaties zijn waarin het nodig is om meerdere waarden van een methode naar de aanroeper te retourneren. Dit kan vaak voorkomen bij het omgaan met complexe gegevens of berekeningen en in dit artikel zullen we enkele van de meest gebruikelijke technieken onderzoeken voor het retourneren van meerdere waarden in C#.

1: Meerdere waarden retourneren naar een methodeaanroeper in C# met behulp van parameters

Een andere manier om meerdere waarden in C# te retourneren, is door out-parameters te gebruiken. In dat geval is een out-parameter een variabele die door verwijzing aan een methode wordt doorgegeven en die kan worden gebruikt om een ​​waarde uit de methode te retourneren, hier is een voorbeeld:







systeem gebruiken;

programma van de openbare klasse
{
openbare statische leegte Main ( )
{
int [ ] nummers = { 3 , 1 , 4 , 1 , 5 , 9 , 2 , 6 , 5 , 3 } ;
int min, max;
GetMinMax ( nummers, uit min, uit max ) ;
Console.WriteLine ( $ 'Min: {min}, Max: {max}' ) ;
}

openbare statische leegte GetMinMax ( int [ ] getallen, uit int min, uit int max )
{
min = getallen [ 0 ] ;
maximaal = cijfers [ 0 ] ;

voor ( int ik = 1 ; i < nummers.Lengte; ik++ )
{
als ( nummers [ i ] < min )
{
min = getallen [ i ] ;
}
als ( nummers [ i ] > max )
{
maximaal = cijfers [ i ] ;
}
}
}
}


Hierin neemt de GetMinMax-methode een integer-array als invoer, samen met twee out-parameters voor min en max. Het sleutelwoord out wordt gebruikt om aan te geven dat deze variabelen zullen worden gebruikt om de uitvoerwaarden van de methode op te slaan.



Binnen de methode worden de min- en max-variabelen geïnitialiseerd op de eerste waarde in de invoerarray. De methode herhaalt vervolgens de resterende waarden in de array, waarbij de min- en max-variabelen indien nodig worden bijgewerkt op basis van de aangetroffen waarden.



Als de methode ten slotte is voltooid, worden de bijgewerkte waarden voor min en max geretourneerd via de out-parameters. Bij de methode Main worden deze uitvoerwaarden naar de console afgedrukt met behulp van de methode WriteLine.





Het gebruik van het sleutelwoord out om meerdere waarden te retourneren kan een handige techniek zijn in situaties waarin u meer dan één waarde van een methode moet retourneren. Het is echter vermeldenswaard dat het gebruik van out-parameters ervoor kan zorgen dat code moeilijker te lezen en te begrijpen is, vooral wanneer het om complexere code gaat en het is over het algemeen een beter idee om deze techniek spaarzaam te gebruiken en alleen wanneer dat nodig is.



2: Meerdere waarden retourneren naar een methodeaanroeper in C# met behulp van een aangepaste klasse

Een derde manier om meerdere waarden in C# te retourneren, is door een aangepaste klasse te gebruiken en een klasse te maken die eigenschappen of velden bevat voor elke waarde die u wilt retourneren en vervolgens een instantie van de klasse uit uw methode te retourneren, hier is een voorbeeld:

systeem gebruiken;

naamruimte MijnNaamruimte
{
openbare klasse MinMaxResult
{
openbaar int Min { krijgen; set ; }
openbaar int. Max { krijgen; set ; }
}
openbare statische klasse MinMaxCalculator
{
openbare statische MinMaxResult GetMinMax ( int [ ] nummers )
{
int min = getallen [ 0 ] ;
int max = getallen [ 0 ] ;
voor ( int ik = 1 ; i < nummers.Lengte; ik++ )
{
als ( nummers [ i ] < min )
{
min = getallen [ i ] ;
}
als ( nummers [ i ] > max )
{
maximaal = cijfers [ i ] ;
}
}
opbrengst nieuw MinMaxResultaat { Min = min, Max = max } ;
}
}
klasse programma
{
statische leegte Main ( snaar [ ] argumenten )
{
int [ ] nummers = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
Resultaat MinMaxResult = MinMaxCalculator.GetMinMax ( nummers ) ;
Console.WriteLine ( $ 'Min: {resultaat.Min}, Max: {resultaat.Max}' ) ;
}
}
}


Deze C#-code definieert een naamruimte met de naam 'MyNamespace' die twee klassen bevat: 'MinMaxResult' en 'MinMaxCalculator'.

De klasse 'MinMaxResult' heeft twee eigenschappen: 'Min' en 'Max', die worden gebruikt om respectievelijk de minimum- en maximumwaarden op te slaan.

De klasse 'MinMaxCalculator' wordt gedeclareerd als statisch en heeft een enkele methode genaamd 'GetMinMax' die een reeks gehele getallen als invoer gebruikt. Deze methode gebruikt een lus om door de array te itereren en de minimum- en maximumwaarden te vinden. Vervolgens wordt een nieuwe instantie van de klasse 'MinMaxResult' gemaakt en worden de eigenschappen 'Min' en 'Max' geïnitialiseerd met de gevonden waarden voordat deze wordt geretourneerd als de uitvoer van de methode.

Ten slotte bevat de klasse 'Program' een statische methode met de naam 'Main', die het beginpunt van het programma is en in deze methode wordt een reeks gehele getallen geïnitialiseerd en doorgegeven aan de methode 'GetMinMax' van de klasse 'MinMaxCalculator' om de minimale en maximale waarden.

Conclusie

Het retourneren van meerdere waarden naar een methodeaanroeper in C# kan een belangrijke functie zijn bij het werken met complexe gegevens of berekeningen. Door de verschillende technieken te begrijpen die beschikbaar zijn voor het retourneren van meerdere waarden, zoals out-parameters en aangepaste klassen, kunt u de beste aanpak kiezen voor uw specifieke situatie. Het gebruik van deze technieken kan uw code efficiënter en leesbaarder maken en uiteindelijk de prestaties van uw toepassing verbeteren.