Sto scrivendo un parser che chiama alcune funzioni che dipendono da qualche valore.Dizionario con delegato o switch?
posso implementare questa logica di interruttore semplice come questo:
switch(some_val)
{
case 0:
func0();
break;
case 1:
func1();
break;
}
o per delegati e un dizionario come questo:
delegate void some_delegate();
Dictionary<int, some_delegate> some_dictionary = new Dictionary<int, some_delegate>();
some_dictionary[0] = func0;
some_dictionary[1] = func1;
some_dictionary[some_value].Invoke();
Sono questi due metodi equivalenti e che è preferito?
Si potrebbe anche usare l'alternativa vecchia scuola alla programmazione "taglia e incolla". Metti l'istruzione switch in un metodo. –