在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 个已知值,并且会失败并默认为保留值。
我想知道这是否比创建字符串数组或字典并返回适当的值要多得多。
- 还有别的吗?有没有其他方法可以考虑?
最佳答案
var things = new Dictionary<int, string>();
things[0]="Thing 1";
things[1]="Thing 2";
things[4711]="Carmen Sandiego";
关于c# - 在 C# 中执行查找表的最有效方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1855839/