Powiel możliwe:
Is there any significant difference between using if/else and switch-case in C#?Czy "else if" jest szybsze niż "przypadek switch()"?
jestem ex facet Pascal, obecnie nauka C#. Moje pytanie jest następujące:
Czy poniższy kod jest szybszy niż zmiana?
int a = 5;
if (a == 1)
{
....
}
else if(a == 2)
{
....
}
else if(a == 3)
{
....
}
else if(a == 4)
{
....
}
else
....
i przełącznik:
int a = 5;
switch(a)
{
case 1:
...
break;
case 2:
...
break;
case 3:
...
break;
case 4:
...
break;
default:
...
break;
}
Który jest szybszy?
Pytam, ponieważ mój program ma podobną strukturę (wiele, wiele instrukcji "else if"). Czy powinienem zmienić je w przełączniki?
Czuję się zobowiązany zauważyć, że możesz nie być w pełni wykorzystany w twoich projektach polimorfizmów, jeśli twój kod ma wiele takich struktur. –
Zobacz http://stackoverflow.com/questions/445067/if-vs-switch-speed –
Przełącznik jest szybszy, ale jeśli nie masz hiperoptymalizacji ciasnej pętli, to nic nie znaczy. Co to jest 37 nanosekund w porównaniu z 42 nanosekundami (wykonane liczby)? –