如何将 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()
);
我想在列表中获取我的数据表的所有数据列(双精度类型),然后创建一个字典,其中键是数据列的 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()
);