Kezdőoldal » Számítástechnika » Programozás » Hogy kell használni visual...

B.Lali1986 kérdése:

Hogy kell használni visual basic 2010-től fölfelé a funkciókat? Gondolok itt a byval, és byref kulcsszavakra is.

Figyelt kérdés

Tanulom a visual basic 2015 programozást, de a 2010-estől kezdve látok olyat, hogy funkciók.

Mik ezek, hogyan lehet használni?

Mi az az érték, és referencia szerinti adás?

Mármint byref és byval?

Köszi, ha valaki elmondja!



2016. márc. 31. 08:49
 1/2 anonim ***** válasza:

A ByVal az, mikor érték szerint adod át, a ByRef az, mikor cím szerint (ha kened a c++-t, akkor már képben vagy).


Konyhanyelven: az előbbinél a függvény nem tudja megváltoztatni a változót; az utóbbinál igen.


Sub Valami (ByVal aaa As Int, ByRef bbb As Int)

Let aaa = 5

Let bbb = 5

End Sub


...


int x = 1

int y = 1

Valami (x,y)

Print x, y


Ekkor azt írja ki, hogy 1, 5, mert a második byref-fel volt.


Vagyis: ha egy függvénynek olyan adatot akarsz adni, amit nem szabad megváltoztasson, akkor ByVal; ha azt akarod, hogy megváltoztassa (pl. valami számolás eredménye), akkor ByRef. Pl:


Sub Osszead (ByVal a As Int, ByVal b As Int, ByRef osszeg As Int)

Let osszeg = a + b

End Sub


int x = 4

int y = 2

int s

Osszead (x,y,s)

Print s

2016. márc. 31. 10:34
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

Told át Juhász Pici Prog1 jegyzetét. A történet nagyjából annyi, hogy amikor te csinálsz egy változót, az valahová kerülni fog a memóriában. Amikor írsz egy metódust, és vannak paraméterei, akkor azok szintén egy-egy új memóriaterület lesz.


A byval röviden azt csinálja, hogy a változód értékét az egyik memóriaterületről a másikra egyszerűen csak lemásolja. Így ha a metóduson belül piszkálod, az eredeti érték nem változik, csak a másolat.


A byref ezzel ellentétben azt csinálja, hogy nem az értéket másolja le, hanem csak annyi információt mond a metódusnak, hogy a memóriában azt az értéket hol találja meg. Így fizikailag csak egyszer fog szerepelni a memóriában az adott érték. Namármost, ha az értéket módosítod, akkor ez az eredeti példány fog módosulni.

2016. márc. 31. 13:18
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, 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!