如何在C#中实现最有效的查找表?
我有一个查找表。类似于:
0 "Thing 1"
1 "Thing 2"
2 "Reserved"
3 "Reserved"
4 "Reserved"
5 "Not a Thing"
如果有人想要“物品1”或“物品2”,则传入0或1。但他们也可能传入其他内容。 我有256个这样的东西,其中大约有200个是保留的。
那么最有效的设置方式是什么?
一个字符串数组或字典变量获取所有值。然后取整数并返回该位置处的值。
我对此解决方案有一个问题,即所有“保留”值都会产生冗余。否则,我可以针对所有“保留”的各种位置设置if语句,但它们可能只是2-3个,也可能是2-3个、40-55个和字节中的所有不同位置。这个if语句很快就会变得难以管理。
我的另一个选择是switch语句。我将拥有所有50多个已知值,并会通过并为保留值设置默认值。
我想知道这是否比创建字符串数组或字典并返回适当的值要耗费更多的处理时间。
还有其他方法吗?有其他考虑方式吗?