如何使用数据表列名称键和值作为行值创建字典 [英] How to create a dictionary with data table column name key and value as row values
本文介绍了如何使用数据表列名称键和值作为行值创建字典的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨朋友
如何创建一个数据表列名为 key
且值为行的字典价值。
我的字典声明是
字典<字符串,双> prereturnValues = new 字典< string,double>();
请帮助
我是什么尝试过:
dtStratergic.AsEnumerable()。ToDictionary< DataRow, string ,double>(row = > row.Field< string>( 0 ),row = > row.Field< double>(rowPosition)
解决方案
试试这个
DataTable dt = new DataTable();
dt.Columns .Add( DoubleColumn1);
dt.Columns.Add( DoubleColumn2);
dt.Rows.Add( 1 , 2 );
dt.Rows.Add( 2 , 4 );
字典<字符串, double [] > 字典= new 字典<字符串, double [] > < /跨度>();
for ( int i = 0 ; i < dt.Columns.Count; i ++)
dict.Add(dt.Columns [i] .ColumnName,dt.Rows.Cast< ; DataRow>()。选择(k = > Convert.ToDouble(k [dt.Columns [i]]))。ToArray());
in lambda:
dtStratergic.Columns.Cast< DataColumn>()。 ToList()。ForEach(c = > prereturnValues.Add(c.ColumnName,Convert.ToDouble(WSG_Planning.dtStratergic.Rows [rowPosition] [c.ColumnName]。 ToString())));
我的问题得到了一个解决方案。
< pre lang =C#> foreach (DataColumn column in dtStratergic.Columns)
{prereturnValues 。新增(column.ColumnName,Convert.ToDouble(WSG_Planning.dtStratergic.Rows [rowPosit离子] [column.ColumnName]的ToString()));
}
任何人都可以为此提供Lambda表达式
Hi Friends
How to create a dictionary with data table column name as key
and value as row values.
My dictionary declaration is
Dictionary<string, double> prereturnValues = new Dictionary<string, double>();
Please help
What I have tried:
dtStratergic.AsEnumerable().ToDictionary<DataRow, string, double>(row => row.Field<string>(0), row => row.Field<double>(rowPosition)
解决方案
try this
DataTable dt = new DataTable(); dt.Columns.Add("DoubleColumn1"); dt.Columns.Add("DoubleColumn2"); dt.Rows.Add(1, 2); dt.Rows.Add(2, 4); Dictionary<string, double[]> dict = new Dictionary<string, double[]>(); for (int i = 0; i < dt.Columns.Count; i++) dict.Add(dt.Columns[i].ColumnName, dt.Rows.Cast<DataRow>().Select(k => Convert.ToDouble(k[dt.Columns[i]])).ToArray());
in lambda:
dtStratergic.Columns.Cast<DataColumn>().ToList().ForEach( c=> prereturnValues.Add(c.ColumnName,Convert.ToDouble(WSG_Planning.dtStratergic.Rows[rowPosition][c.ColumnName].ToString())));
I got a solution for my Question.
foreach (DataColumn column in dtStratergic.Columns) { prereturnValues.Add(column.ColumnName,Convert.ToDouble(WSG_Planning.dtStratergic.Rows[rowPosition][column.ColumnName].ToString())); }
Can any one please provide Lambda expression for this
这篇关于如何使用数据表列名称键和值作为行值创建字典的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文