繁体   English   中英

我应该使用哪种类型的C#中的“类似数据库”的行为?

[英]What type should i use for “database-like” behaviour in C#?

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

激光的输出功率由一个滤镜轮调节,该滤镜轮由我的C#控制台应用程序控制。 由于我最初不知道轮子的位置,因此需要在启动时通过测量轮子上预定点数的功率来初始化它。

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

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

所以我的问题是:

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

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

如果您将不得不计算键的“中间”值,则可以使用SortedDictionary<int, int>

此处查看类似的问题,以获取有关使用SortedDictionary在两个键之间查找点的示例

前段时间,我在dotnet中的不同列表类型上写了一篇小文章,各有优缺点。
http://www.selfelected.com/list-of-list-and-collection-classes-in-dotnet-11-45/

如果要将每个键映射到一个值,则应使用Dictionary<key,value>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM