在 C# 中创建动态对象

问题描述 投票:0回答:1

我有一个对象列表列表。第一个条目是标头名称列表:它们的类型为“object {string}”

接下来的条目是与这些标题名称相对应的数据行。第一个是“object {string}”,其余条目是“object {int}”。

根据用户选择的源值,这些列表将包含更多数据,但始终具有#source opps | 结构。出价 |销售。

看照片:

我最终需要的是一个对象列表,其中第一个条目的标题作为键,然后每个带有数据的条目应该是值(“1”是屏幕截图中唯一显示的一个,但会有更多取决于有多少行)。

我怎样才能实现这个目标?谢谢!

c# list object dynamic mapping
1个回答
0
投票

您可以使用 Zip 来匹配两个列表中的元素,然后使用 ToDictionary 将其转换为字典。

var results = rowData[0].Zip
(
    rowData[1], 
    (x,y) => new KeyValuePair<string,string>( x as string, y as string )
)
.ToDictionary( x=> x.Key, y=>y.Value );
© www.soinside.com 2019 - 2024. All rights reserved.