ITnetwork summer 2020
80 % bodů zdarma na online výuku díky naší Letní akci!
Pouze tento týden sleva až 80 % na e-learning týkající se PHP
Avatar
Ondra Toman
Člen
Avatar
Ondra Toman:25. júna 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)

 
Odpovedať
25. júna 22:12
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:26. júna 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
 
Hore Odpovedať
26. júna 8:46
Avatar
Ondra Toman
Člen
Avatar
Odpovedá na Peter Mlich
Ondra Toman:26. júna 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).

 
Hore Odpovedať
26. júna 14:06
Tento výukový obsah pomáhajú rozvíjať nasledujúce firmy, ktoré možno hľadajú práve teba!
Avatar
JerryM
Člen
Avatar
Odpovedá na Ondra Toman
JerryM:26. júna 14:17

myslíš tohle?

switch (con)
{
    case 0:
        #region // condition A
        break;
        #endregion
    case 1:
        break;
    case 2:
        break;
}
Akceptované riešenie
+20 Skúseností
+1 bodov
Riešenie problému
 
Hore Odpovedať
26. júna 14:17
Avatar
Ondra Toman
Člen
Avatar
Odpovedá na JerryM
Ondra Toman:26. júna 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í.

 
Hore Odpovedať
26. júna 14:21
Avatar
JerryM
Člen
Avatar
JerryM:26. júna 14:46

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

 
Hore Odpovedať
26. júna 14:46
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 6 správy z 6.