- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Samsung Galaxy S24 FE - tapasztalatok
- Argos: PH!arckép
- weiss: Pant* rant
- sziku69: Szólánc.
- Ndruu: Segíts kereshetővé tenni a PH-s arcképeket!
- borg25: Kórházi beszámoló
- MasterDeeJay: Natív 3Dfx Glide Windows11 alatt Voodoo1 és Voodoo2-vel.
Ú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!
- Milyen légkondit a lakásba?
- Apple Watch Ultra - első nekifutás
- Mégsem búcsúznak a DDR4-es memóriák
- Kormányok / autós szimulátorok topikja
- Hitelkártyák használata, hitelkártya visszatérítés
- Hobby elektronika
- Mibe tegyem a megtakarításaimat?
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Azonnali fotós kérdések órája
- E-book olvasók
- További aktív témák...
- Samsung Galaxy S22 Plus 128GB, Kártyafüggetlen, 1 Év Garanciával
- HP Elite x2 1012 G2 Touch 2-in-1 LTE/4G Win10 Tablet billentyűzettel/Notebook, üzletből, garanciával
- Nitro AN515-57 15.6" QHD IPS i7-11800H RTX 3070 16GB 500GB NVMe gar
- Csere-Beszámítás! Playstation 5 Slim Edition + Joystick állomás! CFI-2016
- Dell R630/R730XD SSD NVMe PCIe Extender (0GY1TD) + Kábel (0K9TVP) Kit
- 129 - Lenovo Legion Pro 7 (16ARX8H) - AMD Ryzen 9 7945HX, RTX 4080
- Bomba ár! HP 255 G7 - AMD A4 I 4GB I 128SSD I HDMI I 15,6" FHD I Radeon I HDMI I W11 I Cam I Gari!
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- BESZÁMÍTÁS! Samsung Odyssey G9 OLED 240Hz Dual QHD 49" monitor garanciával hibátlan működéssel
- Beszámítás! Apple Mac Mini 2024 M4 16GB 256GB SSD számítógép garanciával, hibátlan működéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest