Mi a külömbség c# ben az out és a ref között?
Azt tudom,hogy ezek csak függvény paramétereként szerepelhetnek.
Azt is tudom,hogy a ref string str1 az a c++ ban ezzel egyenlő igaz?: sring** str1;
És az out az micsoda?Itt eltudnátok magyarázni a doksiból nem értettem meg. :(





Hasonlóak. Annyi a különbség, hogy az out paraméter olyan mintha egy új változó lenne, tehát a függvényeden belül athatsz neki értéket, de kezdetben nincs neki.
Azaz a következő nem fordul le:
private void test(out string s1)
{
string a = s1; // s1 might not be initialized.
}
Illetve az out paramétereknek kötelező értéket adni. Tehát ez sem foldul le:
private void test(out string s1)
{
if (feltetel)
{
return;
}
s1 = "x";
}
Mivel itt a feltétel teljesülésekor nem fog értéket adni az s1 out paraméternek a függvény.
Ref-nél pedig a hívónak kell először értéket adni mindenképp, azaz ha van egy
private void test(ref string s1)
függvényed, akkor a következő kód nem forul le:
string a;
test(ref a); // 'a' might not be initialized










Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!