Estoy escribiendo un analizador sintáctico que llama algunas funciones dependiendo de algún valor.¿Diccionario con delegado o switch?
puedo aplicar esta lógica con el interruptor simple como esto:
switch(some_val)
{
case 0:
func0();
break;
case 1:
func1();
break;
}
o con los delegados y un diccionario de esta manera:
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();
Son estos dos métodos equivalentes a los que se prefiere?
También podría usar la alternativa de la vieja escuela para cortar y pegar la programación. Ponga la instrucción switch en un método. –