IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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: složení case ve switchi

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

Aktivity
Avatar
Ondra Toman
Člen
Avatar
Ondra Toman:25.6.2020 22:12

Píšu program, ve kterém se vyskytuje velmi obsáhlý switch a potřeboval bych, aby se jednotlivé cases daly složit pomocí + / - tak, jak je to například u podmínek, funkcí atd. Nevíte kde bych tohle nastavení ve visual studiu našel? (používám verzi 2019)

 
Odpovědět
25.6.2020 22:12
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:26.6.2020 8:46

Co jsi nasel googlem nebo v dokumentaci?
https://blog.udemy.com/…e-statement/

switch (value) {
case 1:
  Console.WriteLine("Case 1");
  break;
case 2:
  Console.WriteLine("Case 2");
  break; ## nornalni ukonceni
default:
  Console.WriteLine("Default case");
  break;
}

---

switch (input) {
case 'a':
  {
    return "Area"; ## misto break je ve funkci, ktera dal uz nepokracuje za switchem,  lepsi pouzit return
  }
case 'b':
  {
    return "Box";
  }
---
case 'S':
case 's': {
  return "Spot"; ## vice podminek (A or B)
}
---
switch (priority)
{
case Priority.Low: ## hodnota promene (v tomto pripade pole), nemusi tam byt string nebo cislo,
## bohuzel nestastne nazvali promenou, a=priority, b=Priority, ze pouzili jen velke pismenka
case Priority.Medium:
case Priority.Zero:
default:

Example 3: To jsem nikdy nepouzil, default se dava obvykle nakonec. Ale mohlo by to fungovata byt vyhodne z hlediska rychlosti zpracovani, kde vetsina moznosti pridapada do oblasti default.

Mozna bys mohl zkusit napsat priklad te if podminky, kterou potrebujes prevest na switch.
Mozna by slo pouzit pole hodnot misto switche. Pokud treba delas prevod diakritiky nebo slov, tak se vytvari prevodni mapa.

int foo [] = {16, 2, 77, 40, 12071};

switch (x)
case 0: y = foo[0];

y = foo[0]; ## to je rychlejsi
 
Nahoru Odpovědět
26.6.2020 8:46
Avatar
Ondra Toman
Člen
Avatar
Odpovídá na Peter Mlich
Ondra Toman:26.6.2020 14:06

Skvělá ukázka různých zápisů switche... bohužel to není to na co jsem se ptal :D Řeším jen přehlednost programu. Například když si nadefinuju funkci, tak na levé straně vedle čísla řákdu je malé mínus, kterým můžu funkci "sbalit", aby se zobrazovala jen její hlavička a tělo je skryté. To samé jsem chtěl udělat u toho switche -> abych mohl jednotlivé cases "sbalit" a program byl přehlednější. Otázka je kde v nastavení visual studia tuhle funkci najdu (jestli tam vůbec je).

 
Nahoru Odpovědět
26.6.2020 14:06
Avatar
JerryM
Člen
Avatar
Odpovídá na Ondra Toman
JerryM:26.6.2020 14:17

myslíš tohle?

switch (con)
{
    case 0:
        #region // condition A
        break;
        #endregion
    case 1:
        break;
    case 2:
        break;
}
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
26.6.2020 14:17
Avatar
Ondra Toman
Člen
Avatar
Odpovídá na JerryM
Ondra Toman:26.6.2020 14:21

Ano to je přesně to co jsem myslel. Teda doufal jsem že to bude v nastavení ale tohle je dostačující řešení.

 
Nahoru Odpovědět
26.6.2020 14:21
Avatar
JerryM
Člen
Avatar
JerryM:26.6.2020 14:46

v "nastavení" to bohužel nejde :(
klazule switch je daná pevně

 
Nahoru Odpovědět
26.6.2020 14:46
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 6 zpráv z 6.