Python týden
Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu
80 % bodů zdarma na online výuku díky naší Letní akci!
Avatar
Ondra Toman
Člen
Avatar
Ondra Toman:25. června 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. června 22:12
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:26. června 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. června 8:46
Avatar
Ondra Toman
Člen
Avatar
Odpovídá na Peter Mlich
Ondra Toman:26. června 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. června 14:06
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
JerryM
Člen
Avatar
Odpovídá na Ondra Toman
JerryM:26. června 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í
+1 bodů
Řešení problému
 
Nahoru Odpovědět
26. června 14:17
Avatar
Ondra Toman
Člen
Avatar
Odpovídá na JerryM
Ondra Toman:26. června 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. června 14:21
Avatar
JerryM
Člen
Avatar
JerryM:26. června 14:46

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

 
Nahoru Odpovědět
26. června 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.