Kezdőoldal » Számítástechnika » Programozás » Még kezdo vagyok de ezek...

Még kezdo vagyok de ezek micsodak?

Figyelt kérdés

Írd le az Asd metódus fejlécét, amely kívülről elérhető, byte eredményű, és 3 egész szám típusú paramétere van:

- egy myval érték szerint átadott

- egy myresult kimeneti (vagy eredmény) szerint átadott

- egy myasd hivatkozás szerint átadot



2017. jan. 29. 13:10
1 2
 11/18 anonim ***** válasza:
De akkor mit tanítottak 4 éven keresztül? Ezek a legalapabb dolgok.
2017. jan. 30. 16:40
Hasznos számodra ez a válasz?
 12/18 anonim ***** válasza:

#9: "#5 Miért, lehet referenciát másképp is átadni? Számomra érdekesen hangzana, hogy egy referenciát referencia szerint adunk át, a referenciára referálunk?"


C ben pl igen gyakori a mutatora mutato mutato :D

2017. jan. 30. 21:40
Hasznos számodra ez a válasz?
 13/18 anonim ***** válasza:

Na, hogy értsétek, miért kell a referencia (cím) szerinti paraméterátadás...


Az alapeset legyen az, hogy van egy változód és egy metódusod, aminek a változódat adod át paraméterként. A metódus megváltoztatja a paraméter értékét.

private void DoSomething(int X) {

.. X = 6;

}

int Value = 5;

Console.WriteLine("Metódus meghívása előtt: {0}", Value);

DoSomething(Value);

Console.WriteLine("Metódus meghívása után: {0}", Value);


A kimenet:

Metódus meghívása előtt: 5

Metódus meghívása után: 5


Ez azért történt, mert a Value értéke lemásolódott az X paraméter helyére. Így amikor az X-et módosítottad, nem a Value-t módosítottad, hanem a másolatot. Ezt hívjuk érték szerinti paraméterátadásnak.


A következő eset legyen az, hogy van egy változód és egy metódusod, aminek a változód referenciáját adod át paraméterként. A metódus megváltoztatja a paraméter értékét.

private void DoSomething(ref int X) {

.. X = 6;

}

int Value = 5;

Console.WriteLine("Metódus meghívása előtt: {0}", Value);

DoSomething(ref Value);

Console.WriteLine("Metódus meghívása után: {0}", Value);


A kimenet:

Metódus meghívása előtt: 5

Metódus meghívása után: 6


Ez azért történt, mert az X paraméter azt kapta meg, hogy a Value hol van a memóriában - azaz annak a címét. Mivel nem másolat készült annak az értékéről, hanem a memóriaterület lett megosztva, így maga a változó memóriaterülete, ezzel együtt annak értéke lett módosítva.


És hogy tisztázzuk azt is, hogy mi a helyzet referenciatípusok esetében:

private void DoSomething(StringBuilder sb) {

.. sb = new StringBuilder();

.. sb.AppendLine("Módosítva");

}

StringBuilder s = new StringBuilder();

s.AppendLine("Eredeti");

Console.WriteLine(s.ToString());

DoSomething(s);

Console.WriteLine(s.ToString());


A kimenet:

Eredeti

Eredeti


Nézzük meg cím szerinti paraméterátadással:

private void DoSomething(ref StringBuilder sb) {

.. sb = new StringBuilder();

.. sb.AppendLine("Módosítva");

}

StringBuilder s = new StringBuilder();

s.AppendLine("Eredeti");

Console.WriteLine(s.ToString());

DoSomething(ref s);

Console.WriteLine(s.ToString());


A kimenet:

Eredeti

Módosítva


A magyarázat ugyanaz, mint az előbb is volt.

2017. jan. 30. 22:00
Hasznos számodra ez a válasz?
 14/18 A kérdező kommentje:
a programozási tételeket tanultuk meg gyakorlaton meg a tanar megcsinalt feladatokat felirta a tablara nekunk meg lekellet masolni és elinditani C#-ban a programot és ennyi volt a gyakorlati ora semmi magyarazat mindenki 2volt meg sokan megis buktak én meg meg 2osztalytarsam akit komolyabban erdekelt a dolog mert szeretnenk a kesobbiekben programozassal foglalkozni itthon tutorialokat nezunk mert ott van némi magyarazat de mindent ott se mondanak el
2017. jan. 30. 23:53
 15/18 anonim ***** válasza:

Hát az szép..Bár eddig se voltak illúzióim a középiskolai programozás oktatásról.

Viszont így munkavállalásra szerintem nem vagy alkalmas. Hiába hoznád össze a tesztet valahogy(amire kicsi az esély), utána úgyis kiderülne, hogy nem vagy még olyan szinten.

Azt írtad pénteken lesz a teszt. Pár nap alatt nem lehet csodát tenni.

2017. jan. 31. 03:01
Hasznos számodra ez a válasz?
 16/18 anonim ***** válasza:
Persze azért nyugodtan elmehetsz rá. Legalább megnézed milyen szintű feladatokat kéne tudnod, hogy felvegyenek.
2017. jan. 31. 03:03
Hasznos számodra ez a válasz?
 17/18 anonim ***** válasza:
Na milyen volt a teszt?
2017. febr. 3. 22:30
Hasznos számodra ez a válasz?
 18/18 A kérdező kommentje:
nem mentem el rájöttem hogy még kevés vagyok hozzá nem vették volna hasznon ha felisvesznek... de mar találtam egy PDF könyvet elkezdem tanulni meg folytatom a youtube-os tutorialokat leérettségizem aztan megyek szakmára műszaki informatika 2év mire elvégzem remelem mar jo leszek sajnos hogy jo munkahelyem legyen majd egyetem is kénede az nagyon koltséges szoval nem hiszem
2017. febr. 4. 01:28
1 2

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!