Diskuze: String nejde uložit do stringového pole
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


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


Protože binCislo je string a pole je pole stringů. Ty děláš toto:
"Ahoj"[0] = {"Ahoj", "jak", "je?"}[0];
takže musim rozdělit ten string na chary a ty chary hodit do pole?
V C# se nedají jednoduše měnit chary ve stringu, jsou read-only. Existuje však metoda ToCharArray na stringu.
binCislo si dokáži dle názvu představit, ale nevím, co je v pole, takže se špatně radí. Do celého programu pronikat nechci.
jj, dík moc. Pronikání do kódu chápu, nehci celý program
Proč máš vlastně v bloku try příkaz Console.WriteLine("chyba"); když to patří do bloku catch? Proč v bloku catch nemáš ošetření chyby, ale jen zobrazení chybové hlášky?
Do bloku try vložíš příkazy, ve kterých může dojít k chybě. Systémové či uživatelské. Pokud dojde k uživatelské chybě, vyvoláš ji ručně příkazem throw. Nepotřebuješ pak blok else, protože v případě výjimky se zbytek bloku try neprovede.
V bloku catch uděláš všechny operace, které se mají v případě výjimky provést. Vypsání uživateli nebo zápis do logu, ale hlavně napravení chyby nebo její vypropagování do vyšších vrstev.
Blok catch má v C# určitě nějaké parametry.
Máš štěstí, zrovna na to dopisuji tutoriál, za chvíli tu bude 
Nechápu proč nepoužil to tryparse,...
if (int.TryParse(nějaký string, out nějké int))
//Povedlo se - příkazy pro zdar,...
int.TryParse() je jen berlička pro ty, kteří nechtějí používat výjimky. Pokud vím, tato metoda neumí pracovat s čísly v šestnáctkové soustavě.
Používání TryParse je určitě v pořádku, ale stejně tak není nic špatného na použití prostého try-catch. V try-catch je výhoda, že tam mohu nacpat parsování všech hodnot objektu a nemusím to ošetřovat po jedné. Naopak když potřebuji ošetřit 1 vstup, použiji TryParse. Je to jedno.
Bloků try není potřeba mnoho. V interních metodách je nepoužívám skoro vůbec. Raději nechám výjimku vybublat i mimo objekt. Často až do hlavního modulu, kde centrálně ošetřím vše, co se mezitím nezachytilo. U jednoduchých aplikací mám jen ten jeden.
O to víc práce si dám s parametry throw, aby obsahovaly dostatek údajů o vzniklé chybě. A také s blokem catch, který výjimky nesmí polykat, ale řešit.
Co myslíš tím řešit? Když se něco nepovede, tak na to uživatele upozorním a skončím. Když mi dá nesmyslné parametry z konzole nebo neexistující soubor, těžko to budu řešit jinak. Můžeš prosím uvést nějaký příklad?
Když se uživatel pokusí dělit nulou, tak přece neshodím celou kalkulačku, ale zobrazím nějakou reakci a pokračuji dál v aplikaci.
Když se mi nepodaří otevřít databázi, tak chybu zaloguji a poskytnu návštěvníkovi provizorní stránku.
Když z databáze nedostanu hledaný článek, do proměnných vložím náhradní obsah typu "článek nenalezen", přidám k tomu HTTP status 404, ale stránku přes šablonu normálně zobrazím.
Jinými slovy vždy jen zobrazuješ chybovou hlášku a skončíš.
V PHP na webu se vždy jen něco zobrazí a pak skript skončí, tak to nepřekrucuj.
Když budu třeba parsovat vstupní CSV a některý ze záznamů bude mít chybné pole, tak příslušný warning vypíši nebo zaloguji a jedu na další záznamy.
Tak web je velmi specifický díky klient-server architektuře. Nicméně chybová stránka 404 se dá chápat stejně, jako MessageBox v C#.
To CSV je dobrý příklad.
Zobrazeno 20 zpráv z 20.