NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 3 - Proměnné, typový systém a parsování v C# .NET

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Alesh
Tvůrce
Avatar
Odpovídá na Zdeněk Novák
Alesh:23.5.2021 23:16

Tak předně je lepší používat angličtinu ve VS, ten překlad toho erroru je takový docela na ... , v angličtině to je pochopitelné podle mě hned, v čem je problém:

Error CS0118 'nameof' is a namespace but is used like a variable nameof

 
Odpovědět
23.5.2021 23:16
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Alesh
DarkCoder:24.5.2021 15:56

Ano, používat vývojové prostředí v jazyce jiném než v angličtině je pro masochisty. Že překlad dokumentace je jak výstup z Google translátoru je známá věc. Dále dost věcí pro snazší ovládání je jazykově závislých.

Bohužel to není jediná hrůza která programátora může potkat. Debugger je další příklad, nad jehož výstupem lze kroutit hlavou.

Což o to, on ten překlad chybové hlášky je korektní ve smyslu překladu do českého jazyka, ale bohužel naprosto nevypovídající o příčině chyby a to i v angličtině. Vzít identifikátor, zjistit jeho význam, porovnat ho v sekci s tím co se očekává a informovat o tom programátora je dosti nedostačující. V tomto případě je debugger až za tupce, když nerozpozná že obor názvů / jmenný prostor úzce souvisí s proměnnou a že celý problém spočívá v nesprávné syntaxi, kde identifikátor jmenného prostoru předchází identifikátoru proměnné oddělenými mezi sebou tečkou.

Ale proč by nám byla usnadňována práce, že. :-)

Odpovědět
24.5.2021 15:56
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
KaMl
Člen
Avatar
KaMl:2.7.2021 19:25

Tak jsem synátora poučovala, že:

Jakmile proměnnou jednou deklarujeme, není možné její datový typ změnit.

A protože to je typický, vzdorovitý pubescent, byla jeho odpověď:

string a = "123";
Console.WriteLine(Convert.ToInt32(a).GetType());
//System.Int32
:-D
 
Odpovědět
2.7.2021 19:25
Avatar
Josef Behenský :17.8.2021 10:06

AHoj, vžycky jak je kod tak ten starý mám smazat ne:

 
Odpovědět
17.8.2021 10:06
Avatar
Ivo Lhotský
Člen
Avatar
Ivo Lhotský:18.11.2021 20:05

"Nechápu" smysl operátoru nameof .
K čemu je mi dotaz na název proměnné, když se ptám jejím názvem?
Jak se jmenuje Petr? Jmenuje se Petr. Proč psát (nameof(cislo) a ne "číslo".
Může mi někdo naznačit, kde by se to dalo využít?

 
Odpovědět
18.11.2021 20:05
Avatar
Josef Prokeš:26.11.2021 20:23

Pořád mi chybí popis těla programu ve složených uvozovkách. Doteď jsem programoval ve VB VS a tam přesně vím, co jak má hlavička programu vypadat, k čemu co je a jak to přesně funguje.

 
Odpovědět
26.11.2021 20:23
Avatar
Květa S.
Člen
Avatar
Odpovídá na Zdeněk Novák
Květa S.:10.12.2021 8:37

Ahoj, měla jsem tentýž problém. Pro začátečníka frustrující.
Ono totiž o kus výše, kde my nic nepíšeme, ani si toho nemáme všímat, je namespace nameof. Máme nameof nahoře a pak nameof dole, a proto hlásí error. Připsala jsem nahoru f navíc, nyní tam mám namespace nameoff, a už neprotestuje.

 
Odpovědět
10.12.2021 8:37
Avatar
Ladislav SKOKAN:29.12.2021 16:12

U parsování bych v základu doporučil řešit také chybu pro případ, že znak není číslo. Třeba testem, zda je znak vůbec číslo, kdy můžeme okamžitě reagovat opakovaným zadáním anebo rovnou získat číslo.
Využití funkce nameof se zcela vymyká logice.

 
Odpovědět
29.12.2021 16:12
Avatar
Pavel Štěrba:12.1.2022 21:06

překvapivě mi nefungovalo
float a = float.Parse(Con­sole.ReadLine());
musel jsem nahradit
string sa;
sa = Console.ReadLine();
float a = float.Parse(sa);

 
Odpovědět
12.1.2022 21:06
Avatar
Rostislav Mikolaš:15.2.2022 14:41

Ahoj, zajímalo by mne proč v mé kostře programu nejsou zobrazeny následující řádky:

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

Je to chyba?
Je to díky jiné verzi framevorku .NET ?
Zobrazení je jen nějak potlačeno ?

A nebo autor příkladu má prostě pro tyto jednoduché aplikace jakousi šablonu a tu prostě používal ve všech příkladech i když tyto řádky konkrétně nebyly potřeba ?

 
Odpovědět
15.2.2022 14:41
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 222.