Hirdetés
- OLED TV topic
- Internet Rádió építése (hardver), és programozása
- Milyen billentyűzetet vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen házat vegyek?
- Gaming notebook topik
- A Noctua felvázolta a terveit jövő nyárig bezárólag
- Samsung Galaxy Tab tablet topik
- Azonnali notebookos kérdések órája
- TCL LCD és LED TV-k
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
ArchElf #2429 üzenetére
Ezek a megoldások mind működnek, de egyik sem túl hatékony. Mindig szem előtt kell tartani az adott adatszerkezet előnyeit és hátrányait valamint azt a tényt, hogy általában a programok lassúságának fő oka a memória foglalás illetve felszabadítás valamint a másolgatás.
Jelen esetre vetítve: vegyük észre, hogy a List elejéről törlés ugyanolyan másolgatást von maga után mint az első megoldásban lévő explicit mozgatás. Tehát lassú.
Ide kéremszépen egy cirkuláris buffer nevű adatszerkezet kell, ami egyszeri memóriafoglalással, másolgatás nélkül megoldja a problémát. MOD: és persze az összeget is nyilván kell tartani, nem mindig újraszámolni.
Nyilván a fentieknek akkor van értelme ha sok adattal, sokszor dolgozunk. A konkrét feladatban valószínűleg mindegy, hiszen a program leginkább a felhasználóra vár. Kivéve persze ha egy fájlt vagy másik program kimenetét irányítjuk bele.
Parse azért rosszabb, mint a TryParse, mert ha nem tud konvertálni (pl szám helyett szöveget adtál be), akkor dob egy FormatException-t, és azt le kell kezelni, hogy ne szálljon el a program.
Az addig igaz, hogy ez a különbség a kettő között. De ettől egyik sem rosszabb a másiknál, csak tudni kell mikor kell őket használni. Ha "helyben" tudod kezelni a hibás adatot, akkor TryParse, ha pedig csak blokk szinten vagy a hívóban akkor jó a kivételkezelés. Mérlegelni kell továbbá, hogy milyen gyakori a hibás bevitel, mivel a kivételkezelésnek esetenként jelentős többletköltsége van.
A te kódod egyébként nem túl szerencsés, mivel az értelmezhetetlen adatot csendben nullának veszi. Helyesebb lenne egyszerűen kihagyni. (Természetesen a felhasználó tájékoztatása mellett, de ezt ugye az itteni programocskákból szándékosan szoktuk elhagyni.)
Elnézésést a sok kötözködésért, igyekeztem konstruktív lenni.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- OLED TV topic
- Poco F7 Pro - jó, de az amatőr sem rossz
- exHWSW - Értünk mindenhez IS
- Internet Rádió építése (hardver), és programozása
- Motoros topic
- Nők, nőügyek (18+)
- Bundle topik
- Futás, futópályák
- IFA 2025: Nem is látszik, hogy strapatelefon
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- További aktív témák...
- SteelSeries Alias Pro XLR + RODE PSA1+ állvány
- Eladó egy használt Asus Vivobook Pro 15 OLED (K6502HE-MA030) laptop
- IPhone iPad Apple watch készülékek szervize.
- Dell XPS 15 7590, 15,6" 4K IPS Touch, i7-9750H CPU, 16GB DDR4, 256GB SSD, GTX 1650 VGA, W11
- Apple iPhone 14 Plus (Használt, független , 128 GB, 6 GB RAM, Fekete)
- Azonnali készpénzes Apple Macbook Air felvásárlás személyesen / csomagküldéssel korrekt áron
- Vivo Y76 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Dell Latitude 5320 i3-1125G4 16GB 512GB magyarbill. 1 év garancia
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3060, 94% Akkumulátor
- GYÖNYÖRŰ iPhone 12 mini 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS2954
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest