- Fotók, videók mobillal
- Okosóra és okoskiegészítő topik
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- KuKirin G4 - a sebesség ára
- Motorola Edge 40 - jó bőr
- Elnéztük a mai dátumot
- Az Apple is mesterséges intelligenciával turbózza fel a teljes kínálatot
- Huawei P30 Pro - teletalálat
- Bluetooth-headsetekről általában
- Mobil flották
Hirdetés
-
Meggyőző arcjátékkal reagál a kínai humanoid robot
it A kínai Ex-Robots hiperrealisztikus humanoid robotjai meggyőző arckifejezésekkel dolgoznak, a pszichoterápiában és az egészségügyben is bevethetik ezeket.
-
Elnéztük a mai dátumot
ma Nem holnap, ma mutatkozik, pontosabban mutatkozott be a HTC U24 Pro, csak elnéztük (mármint én) egy nappal a dátumot.
-
Retro Kocka Kuckó 2024
lo Megint eltelt egy esztendő, ezért mögyünk retrokockulni Vásárhelyre! Gyere velünk gyereknapon!
Új hozzászólás Aktív témák
-
WonderCSabo
félisten
A hashtábla is generikus.
Már leírtam az előnyeit. Konstans idejű hozzáadás (majdnem mindig), eltávolítás és lekérés, asszem ezek önmagukban bőven elegendő érvek.
Szerk.: A második részre: a kód is sokkal tisztább vele, plusz miért ne oldhatnánk meg elegánsabban a dolgot, ha már van mód rá. Én csak beposztoltam a kódot, hogy ezt megmutassam. Meg amúgy is ezek a kis programok csak példák, a való életben nem 10 elemű listákkal fog csak foglalkozni a tanuló.
(#3217) Szabesz: Okés.
[ Szerkesztve ]
-
WonderCSabo
félisten
Elírtam, úgy értettem, hogy a HashSet is az, a HashTable osztály valóban nem az. A többinél pedig direkt magyarul kisbetűvel írtam, mert általánosságban beszéltem a hashtáblálról, nem a HashTable osztályról.
Mellesleg természetesen a HashTable annyival tud többet a HashSetnél, hogy az előbbi kulcs-érték párokat tárol, az utóbbi csak kulcsokat. De HashTable helyett akkor inkább Dictionary.
[ Szerkesztve ]
-
drkbl
őstag
A másik oldalról megközelítve: When to Use Generic Collections
-
drkbl
őstag
Nem igazi válasz, inkább csak ismereteim összefoglalása
Pontosan A generikusok legnagyobb előnye a boxing/unboxing [1][2] elkerülése.
A hash, mint a linkelt cikk írja, arra jó, hogy komplex kulcsot rövidít. Pl. tárolni kell 1000 nagyságrendű embert, kulcs név+születés helye+születés ideje+anyja neve, akkor megfelelő, az adott tartományban ismétlődést nem adó hash függvénnyel memória spórolható, és/vagy a keresés nagyban gyorsítható. Pl. egy adatrögzítő View saját magán belül ellenőrizheti a véletlen ismétlődést.
A hash függvény viszont adhatja ugyanazt az eredményt különböző kulcsokra, ezért kezelni kell a hash ütközést (amúgy nem túl régen kénytelenek voltak kiadni egy biztonsági frissítést az ütközéskezelés időigénye DoS lehetőség miatt a keretrendszerhez). A HashTable és a Dictionary más-más módszert használ erre, ez is lehet szempont a választáshoz.
-
amargo
addikt
"Viszont a hashtáblák előnyét nem látom."
"És erre írtam, hogy ha nem kell milliónyi különböző érték, nem fáj."
Nem csak millió, már kevesebbnél is bizonyít.A legegyszerűbb példa, hogy sokkal gyorsabb ez a belső szerkezetének köszönhető. Nyilván valamit valamiért alapon megy ez is, mivel karban kell tartani a index-et. Képzeld el úgy, mint egy adatbázis táblát, amire index-et raksz.
Egy példa:
Adott egy kritikus adatkiszolgáló szál - amint más szálak tartanak karban -, ha adat kell belőle, akkor azt gyorsan kell publikálni. Itt az IList rettentő csúnyán elvérez.Amint látom más példákat is felhoztak rá.
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
Chipi333
csendes tag
Ahogy látom, ha ömlesztve van egy csomó adatom (mondjuk milliós nagyságrendben néztem) és nem érdekel a rendezhetőség, csak ki-be akarok olvasni és gyorsan elérni, akkor jó és tényleg gyors, de egyébként IList, ha rendezett kell és ha úgyis iterálni kell.
Most C# konkrétumot nem tudok mondai, de ha rendezettség és gyors random elérés is kell, arra vannak olyan adatszerkezetek amik egy rendezett struktúrában tárolják az adatokat (pl vmilyen fa), és emellett tartanak egy hash táblát is hozzá. Javában biztosan van ilyen, és hát gondolom a .net frameworkből sem maradt ki
-
sutszi
veterán
Elnézést, hogy a távolból belekotyogok, de mi a szösznek van akkor a property, ami pont a nevet használja? Miért az osztály ToString()-jét override-olod, ha magad gyártod le a kész megoldást előtte? Ennek így semmi értelme.
Mondjuk pontosan nem értem a célt, de mondjuk lehet az hogy a
Console.Eriteln(PersonInstance.getName() + PersonInstance.getAge().ToString());
helyett
Console.Writeln(PersonInstance);
is elég....persze nem spec. itt, de úgy általánosan. Elég ha egyszer megírja az override-olt ToString-ben a formázott kiíratást, és akkor csak az adott objektumot dobja bele...nem kell minden egyebet minden egyes kiíratásnál odaírni...Bár lehet, hogy most nagyon félreértek valamit....
[ Szerkesztve ]
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
vlevi
nagyúr
"A lehető legkevesebb mágiával kell élni szerintem"
Én ezt csak arra akartam írni, hogy a személy nevét ki akarja írni a console writeline-al, vagy egyéb helyen van szükség rá, ahol a ToString-et használja a C#, ott ez lehet a megoldás. Természetesen átlagos esetben jobb, az, ami te írtál, hogy lehetőség szerint használjunk mindent a helyén."Igaziból nem is tudom szerver oldalon van-e tisztán natív keretrendszer"
Második futtatásra már az
Mert a JIT elrakja a lefordított kódot. Engem igazából csak az zavar, hogy ez a lefordított kód nem marad meg. És minden alkalommal, amikor pl. elindítom az ATI Catalystot, vagy a Samsung KIES-t, akkor az idő nagyrészét az viszi el nap mint nap, hogy a JIT kódot lefordítsa a gépem. Vagy rosszul gondolom, és megmarad valahol a lefordított kód, pl. a gép kikapcsolása után? Asszem nem.[ Szerkesztve ]
-
oO7
őstag
Szerintem nem hülyeség az, ha algoritmikus gondolkodásra tanítják őket. Igen, ott van a LINQ, de azért nem árt ha tudja, hogy mi törtémik mögötte, vagy ha valami speciális esettel találkozik amire nem lehet ráhúzni a beépített eszközöket, akkor nem fog széttett karokkal ülni, hogy hát ő nem tud minimumkiválasztást írni vagy rendezni vagy csoportosítani vagy ilyesmi...
Nyílván án is levágnám a kezét annak aki éles kódban leimplementál egy rendezést, de azért tudjuk már, hogy mi történik a színfalak mögött...
-
oO7
őstag
Ahhoz, hogy "szép kódolást" lehessen tanítani, előbb meg kell tanulni kódolni és eljutni addig, hogy képes legyen az ember komplexebb "csúnya" kódot írni. Teljesen felesleges addig design patternekről beszélni meg objektum orientáltságról, amíg a program üzleti logikája átláthatóan elfér egy winforms alkalmazás code-behind-jában...
Egyet értek veled, hogy szülség lenne ezeknek is a tanítására - sokkal nagyobb szükség, mint azt sokan gondolják - de az ilyen bugyuta "írjunk saját rendezőalgoritmust" jellegű feladatok sem hasztalanok.
Én tanítottam már elég sok helyen Windows 8 meg Windows Phone fejéesztést és hát láttam durva dolgokat, és hidd el, nem az MVVM pattern nem ismerése volt a legnagyobb probléma
-
drkbl
őstag
-
szabok512
csendes tag
Hali!
En hobbi szinten programozok, most csinaltam egy lotto progit, amit melekelek pok.avi ,
At kell nevezni zip-nek, tabom van csak igy tudom felrakni.Fremwork 1.1 alatt fut csak, vagy
Annak telepitve kell lennie.
Anyagrol anyit, hogy keress ra az Ektf Hernyak Zoltan konyvere pdf-ben megvan a neten.
Privatban elkuldom,ha elkuldod az email cimed.
Ú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!
- Microsoft Edge (a Windows Internet Explorer utódja)
- Fotók, videók mobillal
- Milyen autót vegyek?
- Óra topik
- sziku69: Fűzzük össze a szavakat :)
- Computex 2024: dedikált NPU-val menedzselné a VGA-t a PowerColor
- Aliexpress tapasztalatok
- Skoda, VW, Audi, Seat topik
- Okosóra és okoskiegészítő topik
- Call of Duty: Mobile
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen