将Double数组存储在DataTable中

时间:2016-06-19 08:38:08

标签: c# wpf datatable reportviewer

如何在DataTable的一列(字段)中存储双数组?

我希望有2个数据字段连续存在,第一个是整数,它是产品的ID,第二个是双数组,包含产品的所有不同价格(演变的产品的价格)。如何将产品的这365个价格存储在同一行中。也许我应该使用数组price

dtPriceOfProduct.Rows.Add(product_id, price)

其中price是包含product_id的产品可以拥有的所有价格的数组。我希望有1x5,000行而不是365x5,000。

目前我正在存储这样的数据

int product_id;
double[] price = new double[];

我在DataTable中为同一产品的每个价格创建一个新行

foreach(double price_data in price)
{
    dtPriceOfProduct.Rows.Add(product_id, price_data)
}

1 个答案:

答案 0 :(得分:0)

  

如何将产品的数组存储到同一行。

IMO你想要达到的目标并不是一个好主意。但如果您坚持仍然想要继续使用该设计,我建议您使用项目ID作为键,数组作为值*的字典。然后在保存到所述DataTable之前序列化所述字典。

*这样的事可能吗?

Dictionary<int, double[]> priceHistory = new Dictionary<int, double[]>();
priceHistory.Add(id, price);

对于序列化/反序列化,请参考here