C# kako naštevati z switch case?
 
mckmck 2. dec 2013 08:24:33 Pridružen od:
11. maj 2012
519 objav
190 45 46
#1

Pozdravljeni.



Zanima me kako bi naredil to stvar pravilno saj mi tukaj javlja, da pač 9-tka že obstaja v enemu statmen-tu.


switch (ATime.Minute)
{
case (0-9):
lMinutes = 0;
break;

case (10-19):
lMinutes=1;
break;

case 20-29:
lMinutes=2;
break;

case 30-39:
lMinutes=3;
break;

case 40-49:
lMinutes=4;
break;

case 50-59:
lMinutes=3;
break;

Bi moral vsako posebej?

Tako recimo:


case 1:
lMinutes=0;
break;

case2:
lMinutes0;
break;

in tako naprej
všeč(0) ni všeč(0) spam(0)
 
s1l3 2. dec 2013 09:07:06 Pridružen od:
6. jun 2012
345 objav
320 60 1
#2

Kolikor sem gledal C# ne podpira range v switch stavku.


všeč(0) ni všeč(0) spam(0)
 
mckmck 2. dec 2013 09:14:20 Pridružen od:
11. maj 2012
519 objav
190 45 46
#3

Se pravi kako bi lahko to stvar izpeljal :)

Z if stavki?



LP


všeč(0) ni všeč(0) spam(0)
 
mckmck 2. dec 2013 09:57:44 Pridružen od:
11. maj 2012
519 objav
190 45 46
#4

Oziroma lahko bi stvar šel tudi tako ali kaj ?


switch (ATime.Minute)
{
case 1:
lMinutes = 0;
break;
case 2:
lMinutes = 0;
break;
case 3:
lMinutes = 0;
break;
case 4:
lMinutes = 0;
break;
case 5:
lMinutes = 0;
break;
case 6:
lMinutes = 0;
break;
case 7:
lMinutes = 0;
break;
case 8:
lMinutes = 0;
break;
case 9:
lMinutes = 0;
break;
case 10:
lMinutes = 1;
break;
case 11:
lMinutes = 1;
break;
case 12:
lMinutes = 1;
break;
case 13:
lMinutes = 1;
break;
case 14:
lMinutes = 1;
break;
case 15:
lMinutes = 1;
break;
case 16:
lMinutes = 1;
break;
všeč(0) ni všeč(0) spam(0)
 
s1l3 2. dec 2013 09:57:53 Pridružen od:
6. jun 2012
345 objav
320 60 1
#5

Z if stavki bom zadeva najlažje pa po moje najbolj pregledno narejena.


všeč(0) ni všeč(0) spam(0)
 
bostjan 2. dec 2013 10:19:30 Pridružen od:
31. jul 2008
643 objav
689 30 9
#6

sedaj mene malo zmede:

case 50-59: lMinutes=3;

zakaj je tukaj 3?



če je tukaj 5 nehi komplicirat in naredi deljenje z 10 :)

0-9 deljeno z 10 = 0

10-19 deljeno z 10 = 1

... :)


všeč(1) ni všeč(0) spam(0)
 
mckmck 2. dec 2013 10:34:20 Pridružen od:
11. maj 2012
519 objav
190 45 46
#7

bostjan:

sedaj mene malo zmede:

case 50-59: lMinutes=3;

zakaj je tukaj 3?



če je tukaj 5 nehi komplicirat in naredi deljenje z 10 :)

0-9 deljeno z 10 = 0

10-19 deljeno z 10 = 1

... :)




Ja tam bi moralo biti 5 ne 3, se opravičujem ;)


všeč(0) ni všeč(0) spam(0)
 
bostjan 2. dec 2013 10:58:27 Pridružen od:
31. jul 2008
643 objav
689 30 9
#8

no potem je pa simpl :)

lMinutes = ATime.Minute/10;


všeč(1) ni všeč(0) spam(0)
 
wingback 2. dec 2013 11:54:07 Pridružen od:
19. maj 2013
334 objav
224 14 3
#9

Ja sem malo pogledal in dejansko ni možen range v switch stavku. Dejansko ti naredi odštevanje 0-9 = -9, in zato se ti potem v tretjem koraku mislim da izračun pojavi zopet na 9 in ti zajamra da maš dvakrat 9 kot case.



Če tistole kar je napisal bostjan ne zadovolji tvojih potreb. Poglej tole:



http://stackoverflow.com/questions/11339191/switch-case-check-ranges-in-c-sharp-3-5


všeč(1) ni všeč(0) spam(0)
 
mckmck 2. dec 2013 12:27:07 Pridružen od:
11. maj 2012
519 objav
190 45 46
#10

Hvala vsem, mi bo vse prišlo prav tako da hvala forumaši!!


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se