Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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 5 - Podmínky (větvení) 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
Ivo Hury
Člen
Avatar
Ivo Hury:9. dubna 3:12

Nechápu logiku kódu u prvního příkladu funkce switch (je to funkce?). Proč testuji správnost zadání operátoru 1-4 na konci kódu? Proč není výstup z této podmínky rovnou návazný na vykonání funkce switch?

if ((volba > 0) && (volba < 5))
{
    switch (volba)
 {
    case 1:
        vysledek = a + b;
        break;
    case 2:
        vysledek = a - b;
        break;
    case 3:
        vysledek = a * b;
        break;
    case 4:
        vysledek = a / b;
        break;
 }
    Console.WriteLine("Výsledek: {0}", vysledek);
}
else
    Console.WriteLine("Neplatná volba");

Dokonce bych se nebál rovnou využít default namísto následného else, kde předpokládám vykonání čehokoliv jiného, co nespadá do podmínky 1-4.

Editováno 9. dubna 3:13
 
Odpovědět
9. dubna 3:12
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Ivo Hury
DarkCoder:9. dubna 5:18

Switch není funkce, je to řídící příkaz.

Ano, testování volby na platný rozsah nabídek menu na konci je nevhodný. Při neplatné volbě se zbytečně prochází celý switch, což je neefektivní.

Použití default oproti else není vhodné. Pokud by kontrola rozsahu volby předtím nebyla, pak se zbytečně provádí průchod celým switch. Pokud by kontrola rozsahu volby předtím byla, pak sekce default se nikdy neprovede.

Test platné volby na začátku a použití if-else je nejvhodnější řešení.

Odpovědět
9. dubna 5:18
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
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 2 zpráv z 172.