Több érték visszaadása egy hívótól C#-ban

Tobb Ertek Visszaadasa Egy Hivotol C Ban



A C# használatakor előfordulhatnak olyan helyzetek, amikor egy metódusból több értéket kell visszaadni a hívónak. Ez gyakori előfordulás lehet összetett adatok vagy számítások kezelésekor, és ebben a cikkben megvizsgáljuk azokat a leggyakoribb technikákat, amelyekkel több érték visszaadható C#-ban.

1: Hogyan adjunk vissza több értéket egy metódushívóhoz C#-ban, paraméterek használatával

Egy másik módja több érték visszaadásának C#-ban az out paraméterek használata, és ebben az esetben az out paraméter egy változó, amely hivatkozással kerül átadásra egy metódusnak, és felhasználható a metódus értékének visszaadására, íme egy példa:







Rendszer használata;

nyilvános osztály Program
{
public static void Main ( )
{
int [ ] számok = { 3 , 1 , 4 , 1 , 5 , 9 , 2 , 6 , 5 , 3 } ;
int min, max;
GetMinMax ( számok, ki min, ki max ) ;
Console.WriteLine ( $ 'Min.: {min}, Max.: {max.}' ) ;
}

nyilvános statikus üresség GetMinMax ( int [ ] számok, ki int min, out int max )
{
min = számok [ 0 ] ;
max = számok [ 0 ] ;

számára ( int i = 1 ; én < számok.Hossz; i++ )
{
ha ( számok [ én ] < min )
{
min = számok [ én ] ;
}
ha ( számok [ én ] > max )
{
max = számok [ én ] ;
}
}
}
}


Ebben a GetMinMax metódus bemenetként egy egész szám tömböt vesz fel, valamint két kimenő paramétert a min és max értékekhez. Az out kulcsszó azt jelzi, hogy ezek a változók a metódus kimeneti értékeinek tárolására szolgálnak.



A metóduson belül a min és max változók a bemeneti tömb első értékére inicializálódnak. A metódus ezután a tömb fennmaradó értékein iterál, és szükség szerint frissíti a min és max változókat a talált értékek alapján.



Végül, amikor a metódus befejeződik, a frissített min és max értékek az out paramétereken keresztül kerülnek visszaadásra. A Main metódusban ezek a kimeneti értékek a WriteLine metódussal kerülnek kinyomtatásra a konzolra.





Az out kulcsszó használata több érték visszaadására hasznos technika lehet olyan helyzetekben, amikor egynél több értéket kell visszaadnia egy metódusból. Érdemes azonban megjegyezni, hogy az out paraméterek használata megnehezítheti a kód olvasását és megértését, különösen akkor, ha összetettebb kóddal foglalkozik, és általában jobb ötlet ezt a technikát takarékosan és csak szükség esetén használni.



2: Hogyan adjunk vissza több értéket egy metódushívóhoz C# nyelven egyéni osztály használatával

A C#-ban több érték visszaadásának harmadik módja egy egyéni osztály használata, és egy olyan osztály létrehozása, amely tulajdonságokat vagy mezőket tartalmaz minden egyes visszaadni kívánt értékhez, majd visszaadja az osztály egy példányát a metódusból. Íme egy példa:

Rendszer használata;

névtér MyNamespace
{
nyilvános osztály MinMaxResult
{
nyilvános int Min { kap; készlet ; }
nyilvános int Max { kap; készlet ; }
}
nyilvános statikus osztály MinMaxCalculator
{
nyilvános statikus MinMaxResult GetMinMax ( int [ ] számok )
{
int min = számok [ 0 ] ;
int max = számok [ 0 ] ;
számára ( int i = 1 ; én < számok.Hossz; i++ )
{
ha ( számok [ én ] < min )
{
min = számok [ én ] ;
}
ha ( számok [ én ] > max )
{
max = számok [ én ] ;
}
}
Visszatérés új MinMaxResult { Min = min, Max = max } ;
}
}
osztály Programja
{
statikus üresség Fő ( húr [ ] args )
{
int [ ] számok = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
MinMaxResult eredmény = MinMaxCalculator.GetMinMax ( számok ) ;
Console.WriteLine ( $ 'Min.: {eredmény.Min}, Max.: {eredmény.Max.}' ) ;
}
}
}


Ez a C# kód egy „MyNamespace” nevű névteret határoz meg, amely két osztályt tartalmaz: „MinMaxResult” és „MinMaxCalculator”.

A „MinMaxResult” osztálynak két tulajdonsága van: „Min” és „Max”, amelyek a minimális és maximális értékek tárolására szolgálnak.

A „MinMaxCalculator” osztály statikusnak van deklarálva, és egyetlen „GetMinMax” nevű metódusa van, amely egész számok tömbjét veszi be bemenetként. Ez a módszer egy hurkot használ a tömb iterációjához, és megtalálja a minimális és maximális értékeket. Ezután létrehozza a „MinMaxResult” osztály új példányát, és inicializálja a „Min” és „Max” tulajdonságait a talált értékekkel, mielőtt visszaadja a metódus kimeneteként.

Végül a „Program” osztály tartalmaz egy „Main” nevű statikus metódust, amely a program belépési pontja, és ebben a metódusban egy egész számok tömbje inicializálódik, és a „MinMaxCalculator” osztály „GetMinMax” metódusához kerül, hogy megkapja. a minimális és maximális értékeket.

Következtetés

Több érték visszaadása egy metódushívóhoz C# nyelven fontos funkció lehet összetett adatokkal vagy számításokkal végzett munka során. Ha megérti a többféle érték visszaadásához rendelkezésre álló különféle technikákat, például a kimenő paramétereket és az egyéni osztályokat, kiválaszthatja a legjobb megközelítést az adott helyzethez. Ezen technikák használatával a kód hatékonyabbá, könnyebben olvashatóvá tehető, és végső soron javíthatja az alkalmazás teljesítményét.