Metody
6. Návrat více výstupů
Pravděpodobně nastane situace, kdy budeme potřebovat navrátit z metody více jak jeden výsledek (zatím jsme navraceli jeden výsledek pomocí příkazu return). K tomu můžeme využít následující syntaxi:
(seznamDatovýchTypůVýstupů) identifikátorMetody(seznamFormálníchParametrů)
{
//Tělo metody - zde jsou umístěny příkazy a přiřazení hodnot výstupům
return (seznamVýstupů);
}
kde:
- seznamDatovýchTypůVýstupů - představuje seznam jednotlivých datových typů jednotlivých výstupů (návratů) z metody uvedených v kulaté závorce před názvem metody. Jednotlivé datové typy návratů jsou odděleny čárkou
- identifikátorMetody - princip popsán v předchozích kapitolách
- seznamFormálníchParametrů - princip popsán v předchozích kapitolách
- return - princip popsán v předchozích kapitolách
- seznamVýstupů - představuje seznam jednotlivých výstupů (návratů) z metody uvedené v kulaté závorce za klíčovým slovem return
Ilustrativní příklad CelociselneDeleni
Program SectiHodnotyBezParametru
- Popis: Metoda navracející více výstupů
- Zadání: Vymyslete, jak byste v C# naprogramovali metodu CelociselneDeleni jako konzolovou aplikaci. Tato metoda přijímá dva celočíselné parametry x a y. V této metodě deklarujte dvě celočíselné proměnné celociselneDeleni, do které uložíte hodnotu celočíselného dělení hodnot obou parametrů a zbytekCelociselnehoDeleni do níž uložíte zbytek po celočíselném dělení hodnot parametrů. Metodu CelociselneDeleni zavolejte v hlavní metodě Main. V metodě Main vypište výsledky aritmetických operací
- Řešení: Bude postupně probráno v následujícím textu
V následujícím kódu ukážeme, jak deklarovat metodu
se dvěma vstupními parametry a dvěma výstupy. První výstup představuje hodnotu
celočíselného dělení dvou vstupních parametrů (argumentů metody) a druhý výstup
představuje zbytek po celočíselném dělení těchto dvou parametrů – viz Kód 1.
/*Deklarace statické metody se dvěma celočíselnými výstupy a se dvěma vstupními parametry*/ static (int, int) CelociselneDeleni(int x, int y) { int celociselneDeleni, zbytekCelociselnehoDeleni; celociselneDeleni = x / y; zbytekCelociselnehoDeleni = x % y; return (celociselneDeleni, zbytekCelociselnehoDeleni); }
Kód 1: Příklad metody se
dvěma výstupy a dvěma vstupy
Metoda CelociselneDeleni, které předáme jako první parametr hodnotu 7 a jako
druhý parametr číslo 5, by se volala v metodě Main následujícím způsobem – viz Kód 2.
static void Main(string[] args) { //Deklarace lokálních celočíselných proměnných int celociselneDeleni, zbytekCelociselnehoDeleni; /*Zavolání metody pro celočíselné dělení se 2 vstupními parametry a dvěmi celočíselnými výstupy*/ (celociselneDeleni, zbytekCelociselnehoDeleni) = CelociselneDeleni(7, 5); Console.WriteLine("Celočíselné dělení: {0}, zbytek po celočíselném dělení: {1}", celociselneDeleni, zbytekCelociselnehoDeleni); //Čekání na stisk klávesy -> ukončení programu Console.ReadKey(); }
Kód 2: Příklad volání metody CelociselneDeleni se dvěma výstupy a dvěma vstupy v hlavní metodě Main
Ve výpisu v konzole vidíme, že do první proměnné celociselneDeleni, představující výsledek celočíselného dělení, metoda uloží hodnotu 1. Do druhé proměnné zbytekCelociselnehoDeleni představující zbytek po celočíselném dělení bude uložena hodnota 2.Celočíselné dělení: 1, zbytek po celočíselném dělení: 2
Výstup programu - Kód 2: Ukázka výpisu hodnot výstupních parametrů