我应该使用什么类型的数据库"类似数据库" C#中的行为?

时间:2013-07-31 15:28:49

标签: c# .net list indexing

我目前正在研究一种实验装置,用于使用飞秒激光将复杂的微结构写入玻璃。

激光器的输出功率由我从(C#控制台)应用程序控制的滤光轮调节。由于我最初不知道车轮的位置,我需要在启动时将其初始化,方法是测量车轮上预定数量的点的功率。

此信息(功率值及其在车轮上的相应位置)应在运行期间存储。因此,基本上如果请求某个输出功率,控制器将查找可以找到所需值的两个点,然后递增位置直到达到它。

这是我通常使用数据库实现的。由于初始化发生在每次启动时并且不需要持久化,我可能更愿意将其保留为内存列表。

所以我的问题是:

是否有可能以某种方式“索引”功率值以快速检索它们?

4 个答案:

答案 0 :(得分:3)

Dictionary<int, int>可能是您最好的选择。当然,如果不是int s,您可以切换键/值类型以匹配您的数据。

答案 1 :(得分:2)

如果您需要计算密钥的“中间”值,则可以查看使用SortedDictionary<int, int>

请查看similar question here,了解使用SortedDictionary

在两个键之间查找点的示例

答案 2 :(得分:1)

前段时间我在dotnet的不同列表类型上写了一篇有利有弊的小帖子 http://www.selfelected.com/list-of-list-and-collection-classes-in-dotnet-11-45/

答案 3 :(得分:0)

如果您想将每个键映射到一个值,请使用Dictionary<key,value>