Kezdőoldal » Számítástechnika » Programozás » Mi a külömbség c# ben az out...

Mi a külömbség c# ben az out és a ref között?

Figyelt kérdés

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. :(


2013. nov. 3. 01:34
 1/3 anonim ***** válasza:

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

2013. nov. 3. 06:35
Hasznos számodra ez a válasz?
 2/3 _Jessy_ ***** válasza:
Nagyjából ugyanaz a kettő, annyi különbséggel, hogy az out paraméternek kötelezően értéket kell adj a függvényben visszatérés előtt.
2013. nov. 3. 16:06
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:
Elárulom, ha megtanulod helyesen leírni a külöMbség szót..
2013. nov. 3. 21:42
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!