Nel mio codice, mi piacerebbe lavorare con i nomi testuali degli elementi che sono codificati come un simbolo nei pacchetti.Come utilizzare Passa con i valori del dizionario?
In una situazione normale, 1012
significherebbe cat, dog, cat, frog
per me, ma ci sono molte altre coppie come questa, quindi è difficile ricordarle tutte. A volte devono essere cambiati, quindi ho pensato di usare uno Dictionary<string, int>
per questo scopo. Ma poi ...
switch (symbol)
{
case "0": { /* ... */ }
case "1": { /* ... */ }
case "2": { /* ... */ }
case "n": { /* ... */ }
}
... diventa ...
switch (symbol)
{
case kvpDic["cat"]: { /* ... */ }
case kvpDic["dog"]: { /* ... */ }
case kvpDic["frog"]: { /* ... */ }
case kvpDic["something else"]: { /* ... */ }
}
e lo studio dice che ho bisogno di usare le costanti per il mio interruttore.
Come faccio a farlo funzionare?
Upd: numero di tali animali ei loro coppie di valori sono noti solo in fase di esecuzione, in modo che il codice non deve utilizzare costanti (immagino).
Che cosa stai facendo nei blocchi di commutazione? Fondamentalmente * non * sarà in grado di attivare valori non costanti, quindi dovrai pensare a * qualche * alternativa. Ci sono varie opzioni, ma avremo bisogno di più informazioni. –
Hai mai pensato di usare un 'enum 'invece? O i valori cambiano in fase di esecuzione? –
Assegno Texture2D ad un nuovo sprite e sono unici per ogni situazione. – user1306322