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


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


Convert se používá pouze mezi čísly, z textu se vždy parsuje, viz jeden z prvních tutoriálů zde: http://www.itnetwork.cz/…-a-parsovani
Kód upravíš takto:
int plus = int.Parse(label2.Text) + 1;
Jinak je samozřejmě hloupost to stále převádět, ale měl bys to mít uložené v lokální proměnné formuláře, nebo ještě lépe objektu.
Tak proč ta třída convert může vzít taky string a přeconvertovat ho na
int? 
A proč by nemohla, convert ti to vymění mezi datový typy, ale tomu asi ještě nerozumíš.
Asi nerozumím. Tak mi teda vysvětli jaký je rozdíl? Oboje vrací int, tak nevím proč by to nefungovalo.
string num = "10";
int n1 = int.Parse(num);
int n2 = Convert.ToInt32(num);
David Hartinger v tomhle myslím neměl pravdu. Tady je definice z stackoverflow:
Have a look in reflector:
int.Parse("32"):
public static int Parse(string s)
{
return System.Number.ParseInt32(s, NumberStyles.Integer,
NumberFormatInfo.CurrentInfo);
}
which is a call to:
internal static unsafe int ParseInt32(string s, NumberStyles style, NumberFormatInfo info)
{
byte* stackBuffer = stackalloc byte[1 * 0x72];
NumberBuffer number = new NumberBuffer(stackBuffer);
int num = 0;
StringToNumber(s, style, ref number, info, false);
if ((style & NumberStyles.AllowHexSpecifier) != NumberStyles.None)
{
if (!HexNumberToInt32(ref number, ref num))
{
throw new OverflowException(Environment.GetResourceString("Overflow_Int32"));
}
return num;
}
if (!NumberToInt32(ref number, ref num))
{
throw new OverflowException(Environment.GetResourceString("Overflow_Int32"));
}
return num;
}
Convert.ToInt32("32"):
public static int ToInt32(string value)
{
if (value == null)
{
return 0;
}
return int.Parse(value, CultureInfo.CurrentCulture);
}
Jednoduše metoda konvert vrací 0 pokud je parametr nulový. Jinak volá
metodu int.Parse 
Přečti si tutorial, tam je hned v druhem nebo třetim díle že v c# musíš přetypovávat string na čísla pomocí int.Parse("10"). Pokud ti to leze na obtíž tak si vyber jazyk kde to dělat nemusíš.
Tato diskuze se nějak zvrhává. Pánové, cokoli se převádí z textu se vždy parsuje. Že něco jiného někdy volá Parse je hezké, ale není to důvod Parse implicitně nevolat, k tomu tam přeci je. Parsování počítá s chybami a odstraňuje třeba mezery okolo řetězce, rozdíl je i kdy se zaokrouhlí a podobně. Convert by se mělo používat jen mezi čísly.
Misaz: Parsování není přetypování, to je něco jiného.
Neodpověděl jsi na otázku, jaký je mezi tím rozdíl. Resp. vůbec nechápu proč mi říkáš, že musím přetypovat string na int - unikámi pointa proč jsi to vůbec psal?
Tak ještě jednou, nechci se s tebou hádat, ale skusým ti to vysvětlit. int.Parse() parsuje vždy ze stringu, zatímco convert ti to převed v podstatě z čehokoliv. Na převod string > int se vždy používalo parse.
Jak říkám, až budeš mít více zkušeností i z OOP tak možná pochopíš na co tam je Convert. Teď to ber tak, že je tam pro srandu králikům.
Stále jsi mi neodpověděl rozdíl mezi těma dvouma metodama.
Když už do toho pleteš i oop, tak mě tím tuplem zajímá jaký je mezi nima rozdíl. Aby jsme si to ujasnili, já se neptám naco je třída Convert, ale jaký je rozdíl mezi těma dvouma metodama. Kdybys řekl, že je určitá konvence používat Parse, když převádíš string na int, tak sklapnu. Jen se musíš blbě povyšovat, ale moc ti to nejde? Googlovat umí každý, ty očividně mluvíš pokaždé o nečem jiném a neumíš normálně odpovědět.
Btw, řekl bych že hádka vypadá jinak. Já se pouze ptám a ty mi odpovídáš. Ale asi máme každý jinačí názor na to, jak vypadá hádka.
To snad pochopíš z názvu... Parse se zajímá o to, co je na ASCII pozici každého charu. Convert jen o ASCII...
Představ si že jsem tam ten rozdíl napsal. Cituji sám sebe:
int.Parse() parsuje vždy ze stringu, zatímco convert ti to převed v podstatě z čehokoliv.
Nemyslím, si, že jsi v pozici, aby jsi se tu s námi mohl takhle dohadovat, když máš problém s parsováním čísla. Jak jsem ti psal, parsování je převod z textu, to je to, co ty tady děláš. Convert nedělá převod z textu, ale konverzi. To znamená, že vymyslí výsledek mezi nekompatibilními typy a třeba když mu dáš místo stringu null, vrátí ti nulu, zatímco Parse hodí chybu (což je správně, když v řetězci nic není).
Zobrazeno 18 zpráv z 18.