Was ist der effizienteste Weg, um Look-up-Tabelle in C # zu tun
Ich habe eine Nachschlagetabelle. So ähnlich wie
0 "Thing 1"
1 "Thing 2"
2 "Reserved"
3 "Reserved"
4 "Reserved"
5 "Not a Thing"
Wenn also jemand "Ding 1" oder "Ding 2" will, gibt er 0 oder 1 ein. Aber er kann auch etwas anderes eingeben. Ich habe 256 solcher Dinge und vielleicht 200 davon sind reserviert.
Wie lässt sich dies am effizientesten bewerkstelligen?
- Eine String-Array- oder Wörterbuchvariable, die alle Werte enthält. Und dann nehmen Sie die ganze Zahl und geben den Wert an dieser Stelle zurück.
Ein Problem, das ich mit dieser Lösung habe, sind die vielen "reservierten" Werte. Ich möchte diese redundanten "reservierten" Werte nicht erstellen. Oder ich kann eine if-Anweisung für alle verschiedenen "reservierten" Stellen haben, aber es könnten jetzt nur 2-3 sein, vielleicht 2-3, 40-55 und alle verschiedenen Stellen im Byte. Diese if-Anweisung würde schnell unübersichtlich werden
- Die andere Möglichkeit, an die ich gedacht habe, war eine Switch-Anweisung. Und ich würde alle 50ish bekannte Werte haben und würde durch und Standard für die reservierten Werte fallen.
Ich frage mich, ob dies eine Menge mehr Verarbeitung als Erstellen eines String-Arrays oder Wörterbuchs und nur den entsprechenden Wert zurückgeben ist.
- Etwas anderes? Gibt es noch einen anderen Weg, den man in Betracht ziehen könnte?