C#从对象转换

时间:2017-12-02 17:07:42

标签: c# dictionary

我有Dictionary,其中Lists每个列表代表我Datacolumn中的Datatable。我试图迭代字典中的特定列表但我在尝试追加i时遇到错误,说明我无法从对象转换为double。

Dictionary<string, Dictionary<string, List<object>>> dict;

我添加到词典中;

dict = dt.Columns.Cast<DataColumn>().ToDictionary(c => c.ColumnName, c => dt.AsEnumerable().Select(r => r[c]).ToList());

错误发生的地方;

XyDataSeries<double,double> xyseries;

private void chkbx1_Checked(object sender, RoutedEventArgs e)
{
    var list = dict["ColumnName1"];

    foreach (var i in list)
    {
        Convert.ToDouble(i);
        xyseries.Append(one++, i);
    }

}

1 个答案:

答案 0 :(得分:4)

您的问题出在此处:Convert.ToDouble(i);

ToDouble返回double,它不会将i更改为双精度版。您需要执行以下操作:

foreach (var i in list)
{
    var d = Convert.ToDouble(i);
    xyseries.Append(one++, d);
}