Modifikátory parametrů metod
Modifikátor parametru | Význam modifikátoru |
žádný | není-li parametr označen modifikátorm, předpokládá se, že se předává hodnotou, což znamená,
že volaná metoda obdrží kopii původních dat |
out | volané metodě se přiřazují výstupní parametry (proto se předávají odkazem). Jestliže volaná
metoda opomine přiřadit výstupní parametry, objeví se chyba při kompilaci |
params | umožňuje metodě odesílat proměnlivý počet argumentů téhož typu prostřednictvím jediného
parametru. Metoda může mít jen jediný modifikátor params a musí to být poslední parametr
metody |
ref | hodnotu na počátku přiřadí volající, nicméně hodnotu může (nepovinně) opětovně přiřadit
volaná metoda (protože se zde také předávají odkazem). Jestliže metoda opomine přiřadit
parametr s modifikátorem ref, při kompilaci se nevygeneruje žádná chyba |
Modifikátor out
Takže zde se použil dvakrát modifikátor out, které vracely proměnné ans a lipsum. Ans pracuje se vstupnímy parametry a lipsum jsme inicializovali
v těle metody Add. Takže musím určit, že z metody půjdou ven. Při volání metody musím také udat vstupní parametry a to jakože, chci parametry out ven.
using System;
class program
{
public static void Add(int x, int y, out int ans, out int lipsum)
{
ans = x + y;
lipsum = 3432;
}
static void Main()
{
int ans;
int lipsum;
Add(90, 90, out ans, out lipsum);
Console.WriteLine("90 + 90 = {0}, {1}", ans, lipsum);
}
}
Modifikátor out
Je to prostě varianta předchozího příkladu.
using System;
class modifikatorOut
{
public static void FillTheseValues(out int a, out string b, out bool c)
{
a = 9;
b = "Řetězec";
c = true;
}
static void Main()
{
int i;
string str;
bool b;
FillTheseValues(out i, out str, out b);
Console.WriteLine("Int je {0}", i);
Console.WriteLine("String je {0}", str);
Console.WriteLine("Boolean je {0}", b);
}
}