Zkusil jsem: zkoušel sem : (samozrejme StreamReader atd.)
string [] pole = radek.Split('.')
Chci docílit: chci uložit měny dle ČNB kurzovního lístku do
dvourozměrného pole abych mohl 1 proměnné deklarovat právě jednu hodnotu
kterou získám z .txt souboru.
Například chci získat kurz Australského dolaru, a dále s ním pracovat.
Martin Petrovaj co se ti nelíbí na řešení od Filipa? Co se týče
čistoty kódu, tak je rozhodně mnohem lepší než nic neříkající
slovník. A snáze uchováš víc informací (měna, země,..) než pomocí
slovníku.
OP nepísal nič o potrebe uchovávať viac informácií než kód meny a
aktuálny kurz.
Vhodne pomenovaným slovníkom (napr. CurrencyToRate, alebo nedajbože
MenaNaKurz) dosiahne absolútne to isté ako s nejakým List<Currency>.
Slovník mu ale navyše poskytne out of the box kopu hotových metód pre prácu
s jednotlivými položkami + indexer.
After all, pri aktuálnych požiadavkách OP (a podľa Filipovho riešenia)
by Currency bol len pár dvoch hodnôt - string a decimal. Dictionary<string,
decimal> je kolekcia, ktorej položky sú typu KeyValuePair<string,
decimal, čo je už podľa samotného názvu presne to isté. Písať na to
vlastnú štruktúru je v danej situácii zbytočný overhead a vyhodený čas.
Viac kódu bude musieť písať aj neskôr, keď bude chcieť pracovať s
Currency v nejakom Liste, kde bude musieť písať svoje anonymné metódy tam,
kde by postačili hotové metódy na slovníku.
Navyše z Dictionary<string, decimal>, kde sú ako generické parametre
jednoduché predefined typy je hneď jasné na čo slúži (opäť za
predpokladu, že je premenná rozumne pomenovaná). Ak by iný programátor než
OP uvidel List<Currency>, tak nebude tušiť čo sa pod typom Currency
skrýva, bude ho musieť bližšie skúmať a držať v hlave nadbytočnú
informáciu.
Ak by potreboval pracovať s viac údajmi z toho feedu, potom by mal struct
alebo osobitná classa zmysel. V tejto konkrétnej situácii by som sa ale
riadil YAGNI.
A ak ti vadí, že zrozumiteľnosť použitia dictu je daná tým, ako dobre
je pomenovaná daná premenná, tak rovnakým problémom môže trpieť aj
použitie structu. V takejto triviálnej situácii je jedno, či použiješ
jednoduchší hotový typ z .NETu alebo vlastný objekt - ak nevie programátor
dobre pomenovať veci, tak ten kód bude neprehľadný v oboch prípadoch. A
práve situácia, keď je kľúčom v slovníku string je asi tá
najprirodzenejšia, kedy by som slovník použil.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.