Diskuze: c# dictionary
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 10 zpráv z 10.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Ahoj,
pomohl by Ti následující příklad?
public void VypisSlovnik()
{
Dictionary<string, List<string>> slovnik = new Dictionary<string, List<string>>();
slovnik.Add("prvni", new List<string>(new string[] {"a", "b", "c"}));
slovnik.Add("druhy", new List<string>(new string[] {"d", "e", "f"}));
slovnik.Add("treti", new List<string>(new string[] {"g", "h", "i"}));
string klic = "prvni";
foreach(var item in slovnik["prvni"])
{
Console.WriteLine(item);
}
Console.ReadKey();
}
Ahoj, jo takto mi to stačí, aspoň jsem si ověřil, že jsem to měl taky dobře udělané, ale takže mám bohužel problém s tím co jsem myslel že je v pohodě a tudíž načtení následujícího XML souboru:
<?xml version="1.0" encoding="utf-8"?>
<Settings>
<GroupeExtensions>
<NameGroupe>test 01</NameGroupe>
<Extensions>
<Ext>*.avi</Ext>
</Extensions>
<Extensions>
<Ext>*.mkv</Ext>
</Extensions>
<Extensions>
<Ext>*.mpeg</Ext>
</Extensions>
</GroupeExtensions>
<GroupeExtensions>
<NameGroupe>test 02</NameGroupe>
<Extensions>
<Ext>*.avi</Ext>
</Extensions>
<Extensions>
<Ext>*.mkv</Ext>
</Extensions>
<Extensions>
<Ext>*.mpeg</Ext>
</Extensions>
</GroupeExtensions>
</Settings>
GroupeExtensions = jednotlivé skupiny
NameGroupe = jméno skupiny (key ve slovníku)
Ext = přípony (prostě hodnoty)
A toto potřebuji načíst do slovníku, který jsem popsal výše.
Nevěděl by jsi ty nebo někdo jiný teda pomoci, jak to mám správně načíst? Snažím se používat k tomu LINQ.
Děkuji
Jen taková poznámka, nemělo by tam místo "groupe" být "group"? 
Ano je to velice pravděpodobné, děkuji za upozornění.
A jak tedy soubor načítáš?
Možností je určitě několik, příklad může být tento:
XDocument soubor =XDocument.Load("TvujSoubor.xml");
IEnumerable<XElement> elementy = soubor.Element("Settings").Elements("GroupeExtensions");
foreach(XElement el in elementy)
{
string klic = el.Element("NameGroupe").Value;
IEnumerable<XElement> extensions = el.Elements("Extensions");
List<string> hodnoty = new List<string>();
foreach(XElement ext in extensions)
{
hodnoty.Add(ext.Element("Ext").Value);
}
slovnik.Add(klic, hodnoty);
}
Určitě je více postupů, jak z Xml dostat data.
Dej vědět zda se Ti to podařilo.
P.S.: třída XDocument je součástí namespace System.Xml.Linq
Dobrý den
Mám menší problém a nevím si s ním rady pomůžete mi prosím? Zadání
je: "Vytvořte aplikaci na testování znalosti anglických slov. Aplikace
vypíše náhodně české slovo ze slovníku a ohodnotí zapsané anglické." a
vůbec nechápu co dělat. Náš učitel nám to nevysvětlil..
Ahoj, na toto by asi mělo vzniknout samostatné vlákno, ale jinak jde o to,
zda je to vše co se zadání týče nebo jsou ještě nějaká specifikace a
má to být WinForm nebo konzolová aplikace. Jelikož je možnost si vytvořit
slovník, kde klíč bude české slovíčko a hodnota správná anglická.
Takto se dá slovník naplnit a následně pokud by se jednalo o WinForm, tak na
tlačítko by se provedl random nad slovníkem, které by se vepsalo do labelu a
pod ním by byl textbox, kde uživatel zapíše podle něj správně slovíčko
a pak jen akci na tlačítko nebo enter, které by to porovnalo. To je asi
nejjednodušší verze co by se dala udělat, Co se týče konzolové aplikace,
tak tam by musel být nějaký cyklus while, který by fungoval do doby než by
se třeba splila podmínka na písmeno "Q" nebo jiné předem definované a
znázorněné uživateli. Jako další možnost je spíše následně nemít
slovíčka přímo v programu, ale využít k tomu třeba XML soubor, který by
se dal číst a následně pracovat. Proto je otázkou jak moc by to mělo být
sofistikované. Doufám, že jsem aspoň trošku poradil, aspoň jak bych to
dělal já. Kdyby něco, tak klidně napiš a snad by se dalo něco udělat,
pokud to samozřejmě nepotřebuješ už na zítřek
.
Ahoj, předpokládám, že generování randomu máš vyřešené a jde ti jen o porovnání a výstup. Nevím, kolik slovíček má zadání obsahovat, ale pokud jde jen o cíl a slovíček nebude příliš, tak bych si vytvořil pole, kde klíči budou česká slovíčka a hodnota bude anglické slovíčko. Při výpisu bych zobrazil pouze klíč a textbox. Po validaci tlačítkem bych porovnal hodnotu textboxu a hodnotu indexu pole. Pak záleží, jaký chceš výstup, jestli pouze true/false nebo třeba procentuální shodu znaků. Pokud procenta, tak by bylo lepší použít databázi, neboť SQL dotazy udělají spoustu práce za tebe. Dej vědět přesná specifika zadání (technologie, obsah slovníku, rozšiřitelnost atd.) a snad ti můj názor bude k něčemu.
Zobrazeno 10 zpráv z 10.