Wiem, że instrukcje przełączników nie są dostępne w CodeDom
i jak kompilatory radzą sobie z instrukcją przełącznika.Instrukcja przełączania w codeDom (styl tabeli skoku)
Więc ze względu na wydajność, gdy są obecne w wielu przypadkach, nie chcę używać if-else
Why the switch statement and not if-else?
Czy jest możliwe, aby wygenerować kod do symulacji tabelę skoku dla danej listy case.
switch(value) {
case 0: return Method0();
case 1: return Method1();
case 4; return Method4();
}
przyniosłoby:
private delegate object Method();
Method[] _jumpTable = new Method[] { Method0, Method1, null, null, Method4 };
private object GetValue(int value)
{
if (value < 0 || value > 4)
return null;
return _jumpTable[value]();
}
Jaki jest najlepszy sposób, aby analizować Wokanda i wygenerować tablicę jeśli tam są dziury w sekwencji lub lista jest rzadki?