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


Zobrazeno 16 zpráv z 16.
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.


Procházíš pole jako seznam. V proměnné i se kupodivu nebude nacházet index do pole, ale hodnoty, které se na jednotlivých pozicích nachází. Tedy zřejmě nuly. Všechno tedy sázíš do první položky pole.
Tak to nechceš... 
double[][] allValues;
int rows, collumns;
try
{
rows = int.Parse(pocetRadku.Text);
collumns = int.Parse(pocetSloupcu.Text);
allValues = new double[rows][];
}
catch
{
práce s výjimkou
}
...
for(int x = 0; x < rows; x++)
for(int y = 0; y < collumns; y++)
{
...
}
Nemám rád takovéto konstrukce - ale když neznám celek, těžko to vymyslet jinak...
V Javě si nechávám editorem generovat blok catch takto:
} catch (Exception e) {
e.printStackTrace();
}
Nestane se mi pak, že bych nějakou výjimku zapomněl ošetřit. Pokud ji potřebuji ošetřit jinak, tak to prostě přepíšu.
Existuje něco podobného jako e.printStackTrace() i pro C#?
Exception:
http://msdn.microsoft.com/…ception.aspx
Z ní lze dostat informace o typu, umístění atd. Viz.:
http://msdn.microsoft.com/…ception.aspx
Jen nechápu, proč se nedá posílat přímo - něco jako zdědit a přidat...
Myslel jsem něco zjednodušujícího. Pokud v Javě ten e.printStackTrace() nechám bez jakékoli změny přesně tak, jak mi to editor vygeneroval, bude mi to fungovat naprosto perfektně. Nic dalšího už nemusím přidávat, žádnou deklaraci, nic.
Samozřejmě pokud chci výjimku ošetřit jinak, musím udělat změnu.
Právě proto se tě ptám, jak by sis upravil template pro C#.
V Javě to mám vyřešené. e.printStackTrace() jsem tam chtěl a proto jsem si ho do toho template dal. Rozhodně je to lepší, než pitomý string "práce s výjimkou". Myslím si, že by sis měl upravit template, protože taková hovadina, která ani není syntakticky správně, tam nepatří.
Ale to nemá s pluginy nic společného. Ptal jsem se tě, jak bys univerzálním způsobem ošetřil výjimku v C#. Napsal jsem ti, jak to dělám v Javě a zajímá mě, jak se to dělá v C#.
Neptal jsem se, jak se upravuje template, ale co by sis do něho dal.
Však jsem poslal Exception a jak z něj dostat konkrétní výjimku. A to si musíš dát ke generaci...
Konkrétní výjimku mi přece dodá překladač, ne? Aha, to umí jen Java.
Tak ještě jednou: Jak v C# univerzálním způsobem ošetříš výjimku vypsáním zásobníku na chybovou konzoli? Nepotřebuji kus kódu na 10 řádek. Chci jeden řádek, který umístím do bloku catch a nic víc. Žádné další deklarace. Prostě analogicky jako v Javě funguje e.printStackTrace().
Aha...
http://msdn.microsoft.com/…cktrace.aspx
This is it? 
catch (Exception e)
{
Console.WriteLine(e.StackTrace);
}
No vida, je to docela podobné. Jenom to vypisuje na výstupní konzoli místo na chybovou. Takže po úpravě se konečně dostanu k požadovanému
catch (Exception e)
{
Console.Error.WriteLine(e.StackTrace);
}
Kdybys to napsal místo původního
catch
{
práce s výjimkou
}
bylo by to přímo skvělé.
Zobrazeno 16 zpráv z 16.