Kezdőoldal » Számítástechnika » Programozás » C#-ban van egy LakokHelyzete...

C#-ban van egy LakokHelyzete nevű Point tömböm, van kettő lakóm (pointok), hogy tegyem bele őket a tömbbe?

Figyelt kérdés

private Point Fredi = new Point(43, 436);

private Point Alfred = new Point(12, 76);

private Point[] LakokHelyzete = new Point[2];


LakokHelyzete[0] = Fredi;

LakokHelyzete[1] = Alfred;


Mit csináltam rosszul?


2020. jún. 15. 16:53
1 2
 1/13 anonim ***** válasza:
67%
Utolsó két sor konstruktorban fut?
2020. jún. 15. 18:47
Hasznos számodra ez a válasz?
 2/13 anonim ***** válasza:
0%

private Point[] LakokHelyzete = new Point[2];

Ehelyett a te esetedben a stacken tárolnám a tömböt (ami amúgyis referencia-típus, így pár bájt lesz csak a mérete), azaz:


private Point LakokHelyzete[2];

2020. jún. 15. 20:45
Hasznos számodra ez a válasz?
 3/13 anonim ***** válasza:
100%
Szerintem a C#-ban nincs választási lehetősége ezen a téren.
2020. jún. 15. 20:51
Hasznos számodra ez a válasz?
 4/13 anonim ***** válasza:
0%
Dehogynincs. A tömb elemei valóban fixen a heap-en lesznek tárolva, de maga a tömb az több helyre is létrehozható, például stack, heap, statikus- azaz globális memóriaterület...
2020. jún. 15. 20:56
Hasznos számodra ez a válasz?
 5/13 anonim ***** válasza:
100%
C#-ban ilyenről még életemben nem hallottam. C++-ban, na ott igen.
2020. jún. 15. 20:58
Hasznos számodra ez a válasz?
 6/13 anonim ***** válasza:

#4 az egyik legfontosabb szempont a c# megalkotása alatt végig az volt, hogy ne legyen az a szpás a memóriafoglalással\felszabadítással mint c++ ban, ha akarsz sem tudsz ebbe belenyúlni.

Meg amúgy is hagyjál már, két szaros elemnél mi értelme lenne bármit is optimalizálni? Azt optimalizálod ami lassú, nem azt ami egy alsó kategóriás telefonon memóriájában is elfér n+1 milliószor.

2020. jún. 16. 03:36
Hasznos számodra ez a válasz?
 7/13 anonim ***** válasza:

"de maga a tömb az több helyre is létrehozható, például stack, heap"


Nem tudom, hogy ezt honnan veszed? De nem igaz.

Nincs olyan, hogy a tömb elemei itt, a "tömb" meg ott. Nincs külön olyan, hogy tömb, csak a tömbelemek vannak. Ezek összessége maga a tömb.

Stacken meg csak addig van valami, amíg az az aktuális függvény, szubrutin, eljárás, stb. le nem fut, amihez az a valami tartozik.

2020. jún. 16. 06:19
Hasznos számodra ez a válasz?
 8/13 anonim ***** válasza:

"az egyik legfontosabb szempont a c# megalkotása alatt végig az volt, hogy ne legyen az a szpás a memóriafoglalással\felszabadítással mint c++ ban, ha akarsz sem tudsz ebbe belenyúlni"


Én nem értek C#-hoz, csak rágugliztam most gyorsan, ez a stackalloc nem pont erre jó?

[link]

2020. jún. 16. 09:46
Hasznos számodra ez a válasz?
 9/13 anonim ***** válasza:
48%

"ez a stackalloc nem pont erre jó?"


Dehogy ...

2020. jún. 16. 09:54
Hasznos számodra ez a válasz?
 10/13 anonim ***** válasza:
44%

Ennyi okostojást...

"Nincs olyan, hogy a tömb elemei itt, a "tömb" meg ott".

A tömb az referenciákat, ha úgy jobban tetszik pointereket tárol. Amiket new-val hoztunk létre. Szóval a tömb és az elemei még csak véletlenül sem lehetnek ugyanott...

Ennyit erről.

2020. jún. 16. 14:05
Hasznos számodra ez a válasz?
1 2

További 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!