En mi código, me gustaría trabajar con nombres textuales de los elementos codificados como un símbolo en paquetes.Cómo usar ¿Cambiar con valores de diccionario?
En una situación habitual, 1012
significa cat, dog, cat, frog
, pero hay muchos más pares como este, por lo que es difícil recordarlos todos. A veces necesitan ser cambiados, así que pensé que debería usar un Dictionary<string, int>
para ese propósito. Pero entonces ...
switch (symbol)
{
case "0": { /* ... */ }
case "1": { /* ... */ }
case "2": { /* ... */ }
case "n": { /* ... */ }
}
... ... se convierte en
switch (symbol)
{
case kvpDic["cat"]: { /* ... */ }
case kvpDic["dog"]: { /* ... */ }
case kvpDic["frog"]: { /* ... */ }
case kvpDic["something else"]: { /* ... */ }
}
y el estudio dice que tengo que usar constantes para mi interruptor.
¿Cómo puedo hacer que funcione?
UPD: número de tales animales y sus pares de valores son sólo conocidos en tiempo de ejecución, por lo que el código no debe utilizar constantes (supongo).
¿Qué haces en los bloques de interruptores? Básicamente, * no podrá * activar valores no constantes, por lo que deberá pensar en * alguna * alternativa. Hay varias opciones, pero necesitaremos más información. –
¿Has pensado utilizar un 'enum' en su lugar? ¿O cambian los valores en tiempo de ejecución? –
Asigné Texture2D a un nuevo sprite y son únicos para cada situación. – user1306322