如何转换字典<;字符串,列表<;对象>&燃气轮机;进入C#中的数据表?
我有一个如何转换字典<;字符串,列表<;对象>&燃气轮机;进入C#中的数据表?,c#,.net,C#,.net,我有一个Dictionary,它AFValues是AFValue对象类型的集合 字典数据结构幕后的快照: 每个键的值具有以下AFValues集合: 然后,这就是我到目前为止编写的将字典转换为数据表的内容 private DataTable dataTable = null; private DataTable ConvertToDataTable(Dictionary<string, AFValues> dict) { using
Dictionary
,它AFValues
是AFValue对象类型的集合
字典数据结构幕后的快照:
每个键的值
具有以下AFValues
集合:
然后,这就是我到目前为止编写的将字典转换为数据表的内容
private DataTable dataTable = null;
private DataTable ConvertToDataTable(Dictionary<string, AFValues> dict)
{
using (dataTable = new DataTable())
{
if (dict.Count > 0)
{
var headers = dict.Keys;
foreach (var colHeader in headers)
{
dataTable.Columns.Add(colHeader);
}
foreach (var row in dict)
{
DataRow dataRow = dataTable.NewRow();
foreach (var afVal in row.Value)
{
dataRow[row.Key] = afVal.Value;
}
dataTable.Rows.Add(dataRow);
}
}
}
return dataTable;
}
private DataTable=null;
专用数据表ConvertToDataTable(字典目录)
{
使用(dataTable=newdatatable())
{
如果(dict.Count>0)
{
变量头=指令键;
foreach(标头中的var colHeader)
{
dataTable.Columns.Add(colHeader);
}
foreach(dict中的var行)
{
DataRow DataRow=dataTable.NewRow();
foreach(行中的var afVal.Value)
{
dataRow[row.Key]=afVal.Value;
}
dataTable.Rows.Add(dataRow);
}
}
}
返回数据表;
}
我已经基于相当简单的dict.Keys
成功地创建了DataTable
列。但是,我的问题在于如何正确循环AFValue
,并将每个AFValue
映射到相应的列(dict.Key
)
我已经做了研究,但找不到与我相同的相关场景
这是返回的数据表
,基于上面不正确的代码
这应该是预期的输出(示例表)
非常感谢您的帮助。您可以将这样的代码块用于内部循环:
for (int i = 0; i < dict.Values.Max(item => item.Count()); i++)
{
DataRow dataRow = dataTable.NewRow();
foreach (var key in dict.Keys)
{
if (dict[key].Count > i)
dataRow[key] = dict[key][i];
}
dataTable.Rows.Add(dataRow);
}
for(int i=0;iitem.Count());i++)
{
DataRow DataRow=dataTable.NewRow();
foreach(dict.Keys中的var键)
{
if(dict[key].Count>i)
dataRow[key]=dict[key][i];
}
dataTable.Rows.Add(dataRow);
}
不能使用块使用。如果您离开using块,数据表
将被处理。@PinBack感谢您的关注。你是对的。我不需要using
块,因为我需要返回结果。这一块非常有用,谢谢,非常感谢。