我正在设计升级到较旧的C ++程序集并希望(重新)正确执行此操作。
情况是,我有一个基本上是"数据库" (它是在很多时间步骤中获取的各种数据)。问题是我不知道每个"列"将持续到运行时间。
大约有30个列名可能性。速度是一个主要问题。
旧结构使用数组来存储列名(它们的枚举),以及用于保存数据的数组数组。您可以在标头数组中找到列名,然后使用该列索引在当前数据中找到正确的数据位" row"。这是一个非常可行的想法,但似乎有点......已经过时了。
我将每个可能的列都包含在"行中的属性"对象,它似乎会大量膨胀内存使用和创建时间(这是不可接受的)。
这种事情是否有标准结构?
答案 0 :(得分:2)
是的,请查看System.Data命名空间中的DataSet类。
DataSet是DataTables,Relations和其他“类数据库”对象的顶级容器。在DataTables中,您可以定义columns并根据需要填充rows。您还可以通过序列化轻松地保留整个内容。