如何将 DataTable 的所有 DataColumns 获取到列表

How to get all DataColumns of a DataTable to Lists

我想在列表中获取我的数据表的所有数据列(双精度类型),然后创建一个字典,其中键是数据列的 header,值是包含数据的列表的数据列。我如何使用 LINQ 实现这一目标?

我尝试了以下行但没有成功:

// Create Dictionary
Dictionary<string, List<double>> DataDic = new Dictionary<string, List<double>>(); 

// Create List
List<double> DataList = new List<double>();

// For each DataColumn save it as a List of double
DataList = (from DataColumn dc in dt.Columns select new double()).ToList();

// Add KVP to DataDic
DataDic.Add(column.ColumnName, DataList);

提前致谢。

这很简单:

// Create Dictionary
var DataDic = dt.Columns.Cast<DataColumn>()
                        .Where(dc => dc.DataType == typeof(double))
                        .ToDictionary(dc => dc.ColumnName,
                                      dc => dt.AsEnumerable()
                                              .Select(r => r.Field<double>(dc.ColumnName))
                                              .ToList()
                        );