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


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


Však tu máš seriály přímo na C#. http://www.itnetwork.cz/…hry-zdrojaky
tak zkus programujte.com
tam je taky pěkný seriál
http://programujte.com/…34-serial-c/
Já jsem pečenej vařenej na MSDN, bývají tam občas i ukázky
použití.
Lepší dokumentaci než MSDN jsem zatím u ničeho neviděl
.
Na MSDN jsou také občas bludy. Například goto, které do moderního jazyka nepatří.
Bludy tu píšeš ty.
Není žádný důvod, proč by goto do nějakého jazyka nemělo
patřit, protože v jistých situacích může kód zpřehlednit/urychlit.
Samozřejmě jen v jistých situacích a když se použije nevhodně, může čitelnosti i uškodit.
Pánové, zase? 
Nepatří tam kam nemá
.
While je taky jump což je skoro goto
nebo se pletu ? 
Problém s goto je ten, že v jistou dobu bylo užívané až příliš, např. místo obyčejných podmínek nebo cyklů (protože podmínky i cykly jsou v strojovém kódu řešený stejně jako goto - přes jump), takže někteří známí lidé (třeba Edgar Dijkstra) byli dokonce i pro jeho zrušení (protože se dá napsat jakýkoliv algoritmus i bez něj).
Dnes už se goto skoro vůbec napoužívá, protože podmínky a cykly už dnes patří k úplným základům programování, tak už nikoho nenapadne na běžných místech použít goto .
Ale jsou situace, kdy goto může být rychlejší a někdy i přehlednější (např. vyskakování z vnořených cyklů).
Kromě odpůrců má goto i zastánce (ale samozřejmě jen při použití v situacích, pro které je efektivnější), např. praotec Linuxu Linus Torvalds.
Když už o tom mluvíme, kód velmi znečišťují také direktivy k řízení běhu cyklů, jako jsou continue a break. Nebo dokonce for cyklus, který má v hlavičce 6 výrazů. Dále while(true) a podobně. Vždy mám problém takovéto kódy číst, přepíši si je na lidský zápis a potom si ťukám na čelo, jak to někdo mohl vůbec takto napsat, když to jde úplně jednoduše a čitelně.
Zkusil jsem odstranit break i ze switche. Výsledný kód byl mnohem přehlednější.
Nebezpečí goto, break a continue vidím v tom, že se toho občas chytí začátečník, který pak začne psát špagetový kód, kterého se pak těžko zbavuje. Takové programy pak bývají nepřehledné, dlouhé a pomalé.
Je to taková bitva pořádek versus chaos.
Asi by se to ale nemělo přehánět.
Například když kouknu okolo sebe, zjišťuji, že není od věci
oddělit psací náčiní od ponožek, ale řadit tužky podle velikosti
už mi přijde jako moc. Asi tak.
Nedavno jsem viděl tohle:
while (true)
{
if (expression)
break;
else
// do something
}
Ten člověk programovat uměl, nechápu, jak tohle může někdo napsat. Breaky si dokáži představit v nějakých algoritmech, tam se to může hodit. On skok je i return, ale ten mi nějak nevadí, zvláštní.
Něco podobného jsem našel i ve zdrojácích Wordpressu. Navzdory strašnému kódu je to asi nejúspěšnější redakční systém.
Právě v tom switchi jsem break nahradil returnem. Také mi připadá nějak sympatičtější.
Je vyšších jazycích je patrný i trend odstraňování cyklů a větvení.
Tohle používám běžně, hlavně pokud ten cyklus má víc způsobů
ukončení nebo pokud předem nevím, co přesně ho bude ukončovat 
Bude to asi vypadat jako rejpání, ale fakt to vidím jako možnou chybu v návrhu aplikace. Normálně by potřebě něčeho takového nemělo dojít.
Ty myslíš hrozně algoritmicky a nízkoúrovňově, tam se nekonečné cykly opravdu používají, ale v normálním programu by se to vůbec nemělo objevit. Nedokážu si ani představit kdy bych něco takového potřeboval a to už jsem si toho naprogramoval celkem dost. Máš nějaký konkrétní případ?
Třeba mainloop u nějaké hry - to se docela často řeší přes
while(true)
{
...
}
Jo, tady by to asi šlo, ale furt bych tam raději dal nějakou proměnnou a
měl while (state == GameState.Running) nebo tak něco 
Zobrazeno 24 zpráv z 24.