0

例如,我可以创建一个字典来分别保存每个计数器变量类别:

private Dictionary<Int32, Int32> CountersA = new Dictionary<Int32, Int32>();
private Dictionary<Int32, Int32> CountersB = new Dictionary<Int32, Int32>();
private Dictionary<Int32, Int32> CountersC = new Dictionary<Int32, Int32>();

字典键将在所有字典中通用,并且条目的数量将在运行时更改,因为这是针对多点触控应用程序,生成的键数将是手指触摸的数量。

每个字典条目的计数器将在运行时快速添加并实时重置(即当手指在表面上移动时)。任何给定的键将始终出现在每个字典中,每个字典中该键的值将用于不同的目的。

例如,创建一个包含任何给定 Key 的所有值的 Struct 会更好吗? 或者是否有更好的方法来做到这一点,记住速度性能是这里的问题?

4

1 回答 1

0

如果您只有手指触摸的数量(比如 10 ;-) 作为键,您需要跳过字典并确实创建一个包含您的数据的结构数组。

var FingerData = new myStruct[maxFingers];

这样,您将直接指向数据(字典为 O(1),但需要根据您的密钥计算存储桶)。它也将是一个更小的数据结构,因此它更适合缓存和 cpu 寄存器,因此可能会更快一点。

于 2012-07-04T15:14:56.503 回答