Kezdőoldal » Számítástechnika » Programozás » Mennyire bevett eljárás...

Mennyire bevett eljárás C#-ban, hogy a konstruktorra hívjuk a metódust (remélem érthető, szerintem nem a legpontosabb megfogalmazás)?

Figyelt kérdés

Talán Stack Overflow-n láttam olyat, hogy:

int number = new Random().Next();


Ha a továbbiakban nincs szükség a Random osztály egy objektumára, akkor "elegáns" megoldás lehet ez?


2019. jún. 23. 16:08
 1/5 anonim ***** válasza:
57%
Szerintem igen, mert rövid, és tömör a kód.
2019. jún. 23. 18:17
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
Igen.
2019. jún. 23. 19:16
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:

Igen, ha a továbbiakban már nincs szükség a Random osztályra, akkor ez egy jó megoldás.

Így ugyanis az adott sor után már nincs referencia a Random osztály példányára, és így a GC nyugodtan bármikor felszabadíthatja.

Persze, ha mondjuk többször akarsz random számot generáltatni, akkor érdemes kitenni az objektumot egy field-be, és nem minden híváskor újat generálni.

Akkor lehet esetleg probléma (én már jártam), így hogyha olyan objektumot hozol így létre (reader, database connection stb.), amit utána le kell zárni, hisz mivel már nem mutat rá többé referencia, így lezárni sem tudod azt.

2019. jún. 23. 19:28
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:
Általában implementálják az IDisposable interface-t és így használhatóak using blokkban a lezárandó objektumok, nem?
2019. jún. 23. 19:32
 5/5 anonim ***** válasza:
Igen, azokat úgy is kell használni.
2019. jún. 23. 19:41
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!