Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 1. diel - Úvod do kolekcií a genericita

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Karel Vyborny:20.5.2024 9:29

Rozporoval bych úvodní tvrzení : Nevýhodou je, že sama kolekce skutečný datový typ prvků nezná a proto umí prvky navracet jen jako obecné objekty. Po získání prvku z kolekce si jej tedy musíme přetypovat.

C# navrátí prvek kolekci i bez toho :

ArrayList list = new ArrayList();
list.Add("položka");
Console.WriteLine(list[0]);
Avatar
Karel Vyborny:20.5.2024 12:22

naprosto nevhodný začátek , soustřeďuje se na pokročilé úvahy a úplně opomíjí smysl kolekcí, který bude začátečníky spíš zajímat

Avatar
Odpovedá na Karel Vyborny
Petr Štechmüller:20.5.2024 13:34

Ahoj, tady je to myšleno primárně při získávání prvků z kolekce. To co jsi ty napsal je v pořádku.

Zkus ale následující příklad:

ArrayList list = new ArrayList();
list.Add("polozka");

String polozka = list[0];
Console.WriteLine(polozka);

Tohle už nebude fungovat, protože list neví, že na indexu 0 je hodnota typu String.

Odpovedať
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Odpovedá na Petr Štechmüller
Karel Vyborny:20.5.2024 17:11

rozumím, ale proč bych předpokládal, že by mělo jít o string, když budu mít obecné pole ? Můžu s prvkem pole pracovat jako s (obecným) objektem a když budu chtít string - mohu pretypovat bez problemu, ne ?

ArrayList list = new ArrayList();
list.Add("polozka");

object polozka = list[0];
string prevedenej = Convert.ToString(list[0]);
Console.WriteLine(polozka);
Console.WriteLine(prevedenej);
Avatar
Odpovedá na Karel Vyborny
Petr Štechmüller:20.5.2024 17:38

Volání Convert.ToString(list[0]) může docela nadělat paseku u "komplexnějších" objektů.

Řekněme, že budeš mít kolekci uživatelů, kde každý uživatel má třeba "jmeno" a "datum registrace".

Teď budeš chtít projít tuto kolekci a najít uživatele se jménem "franta".
Pokud nebudeš mít typováno, nedostaneš se k odpovídajícím vlastnostem a budeš nucen získanou hodnotu pokaždé přetypovat.

Další problém je, že netypová kolekce ti dovolí vkládat "uživatele" a třeba "auta" do jedné kolekce. No a když pak budeš chtít takovou kolekci procházet, budeš mít problém se zpracováním, protože by obsahovala různé datové typy.

Odpovedať
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Jan Gritzbach:19.6.2024 9:50

Obsah v této lekci je dobře popsaný a přínosný, ale zařadil bych jej v kurzu kolekcí až někam později.

Pojmy vysvětlované v této lekci jsou velmi abstraktní a jdou hodně pod povrch toho, jak se s kolekcemi pracuje. Spíše popisují, co se děje uvnitř pod pokličkou. Časem je samozřejmě potřebné vědět, jak věci opravdu fungují, aby programátor dokázal vyhodnotit, kterou kolekci zvolit. Je však otázka, zda se jedná o vhodnou látku pro první lekci? Spíše si myslím, že většině začátečníku to zkraje kurzu zamotá hlavu, než by jim to pomohlo.

Místo toho bych v prvních lekcích prostě jen představil jednotlivé kolekce a začal probírat jejich praktické použití. Poté, třeba někam do poloviny kurzu, bych teprve zařadil toto pokročilé téma. Tam by už lidi mnohem spíše ocenili, že konečně mohou pochopit, proč je některá z kolekcí, které se doteď učili používat, pro jejich případ vhodnější než jiná.

Odpovedať
"Stay curious, learn every day!"
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 6 správy z 26.