Hirdetés
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- WhrlpoolMind: Búcsú a HD3870-től
- MaxxDamage: Vizes Laptop Hűtés? Lehetséges? Igen!
- GoodSpeed: Aquaphor Modern víztisztító
- Oldman2: A KOReader ebook olvasó program
- Klaus Duran: Nem csajos Samsung Z Flip
- Brogyi: CTEK akkumulátor töltő és másolatai
Ú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!
- Delta Force (2024)
- Fejhallgató erősítő és DAC topik
- Okosóra és okoskiegészítő topik
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- LEGO klub
- Bibliai bőség a Tesla negyedik mestertervében
- Milyen billentyűzetet vegyek?
- VR topik (Oculus Rift, stb.)
- Autós topik látogatók beszélgetős, offolós topikja
- SD memóriakártyák (SD, SDHC, SDXC, micro SD)
- További aktív témák...
- új, bontatlan Kingston FURY Impact 32 GB KIT DDR4L-3200 SoDIMM CL20-22-22 memória / kisker garancia
- Asztali PC , i5 10400F , RX 6600 XT , 16GB DDR4 , 512GB NVME
- Bomba ár! Fujitsu H760 - i7-6820HQ I 32GB I 500SSD I 15,6" FHD I Nvidia 4GB I Cam I W10 I Garancia!
- LG 32" ívelt Monitor 32MR50C-B
- Bomba ár! HP EliteBook 840 G8 - i5-1145G7 I 8GB I 256GB SSD I HDMI I 14" FHD I Cam I W11 I Gari!
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB DDR5 RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- BESZÁMÍTÁS! MSI B450 R5 5600X 16GB DDR4 512GB SSD 1TB HDD RX 5700 XT 8GB ZALMAN S3 TG Chieftec 600W
- Nvidia Quadro M2000/ P2000/ P4000/ RTX 4000/ RTX 5000/ RTX A2000
- GYÖNYÖRŰ iPhone 11 64GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3121, 100% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest