首页 > 解决方案 > 需要通过在c#中循环列表来创建自定义对象是否可能

问题描述

我需要根据键值对列表动态创建一个列表对象,但我无法通过循环列表来分配对象中的键值。


foreach (KeyValuePair<string, IEnumerable<string>> item in List)
            {
                string keyValue = item.Key.ToString();
                object value = new { item.Key = item.Value };
                somefunction(value);
            }

item.key 会抛出问题。关于如何在列表中循环创建对象的任何建议。

例如,如果项目值为 { key: "sampleKey" , value : "sampleValue"} 我需要创建一个对象为 { "sampleKey" = "sampleValue" }。我怎样才能做到这一点。

标签: c#

解决方案


您可以使用 dynamic 关键字和 ExpandoObject ( https://docs.microsoft.com/en-us/dotnet/api/system.dynamic.expandoobject?view=net-5.0 )做一些事情,但如果你是关键如此动态,我根本看不到将它们放在类/对象中的意义。而是将数据存储为字典,然后您也可以从字符串中检索数据。


推荐阅读