在 C# 中进行查找表的最有效方法是什么
我有一个查找表。有点像
0 "Thing 1"
1 "Thing 2"
2 "Reserved"
3 "Reserved"
4 "Reserved"
5 "Not a Thing"
因此,如果有人想要“Thing 1”或“Thing 2”,他们会传入 0 或 1。但他们也可能会传入其他内容。我有 256 个这类东西,其中可能有 200 个是保留的。
那么最有效的设置是什么?
- 获取所有值的字符串数组或字典变量。然后取整数并返回该位置的值。
我对这个解决方案的一个问题是所有的“保留”值。我不想创建那些多余的“保留”值。否则我可以针对所有“保留”的不同位置使用 if 语句,但它们现在可能只是 2-3、可能是 2-3、40-55 以及字节中的所有不同位置。这个 if 语句会很快变得不守规矩
- 我在想的另一个选择是 switch 语句。而且我将拥有所有 50 个已知值,并且会通过并默认保留值。
我想知道这是否比创建字符串数组或字典并返回适当的值要多得多。
- 还有什么?有没有其他方法可以考虑?