我有一些大型二维数据元素数组。A 和 B 的尺寸不同。
A) 介于 5 到 20 之间
B) 介于 1000 和 100000 之间
初始化时间没有问题,因为它只是用于实时应用程序的查找表,因此从知道值 A 和 B 来索引元素的性能至关重要。存储的数据当前是单个字节值。
我正在考虑这些解决方案:
byte[A][B] datalist1a;
或者
byte[B][A] datalist2a;
或者
byte[A,B] datalist1b;
或者
byte[B,A] datalist2b;
或者可能会丢失多维,因为我知道固定大小并在查找之前将其乘以值。
byte[A*Bmax + B] datalist3;
或者
byte[B*Amax + A] datalist4;
我需要知道,当我有这个设置时,使用什么数据类型/数组结构在 C# 中进行最有效的查找。
编辑 1 前两个解决方案应该是多维的,而不是多数组。
编辑 2 每次查找时都会读取最小维度中的所有数据,但大维度的数据一次仅用于索引一次。
所以它类似于 - 从样本 B 中获取所有 A。