使用CsvHelper时如何从C#动态对象获取属性名称和值?

AG70

我正在使用CsvHelper将CSV文件读取到Dynamic C#对象中,并且想要迭代List<dynamic>usingforeach并获取属性名称和值。

FileInfo file = new FileInfo("C:\\Temp\\CSVTest.csv");

List<dynamic> dynObj;

using (var reader = new StreamReader(file.FullName))
using (var csv = new CsvReader(reader))
{
    dynObj = csv.GetRecords<dynamic>().ToList();

    foreach (var d in dynObj)
    {
        var properties = d.GetType().GetProperties();
        foreach (var property in properties)
        {
            var PropertyName = property.Name;
            var PropetyValue = d.GetType().GetProperty(property.Name).GetValue(d, null);
         }
     }
 }

var properties = d.GetType().GetProperties(); 总是返回0,但我可以在调试时看到有属性。

在此处输入图片说明

CSV文件包含以下数据:

Id,Name,Barnd
1,one,abc
2,two,xyz
高朗戴夫

通常,dynamic类型System.Dynamic.ExpandoObject在使用时具有类型对象。与中的KeyValuePair类型相同C#

以下解决方案将从类型返回键和值的列表dynamic

using (var csv = new CsvReader(reader))
{
    dynObj = csv.GetRecords<dynamic>().ToList();

    foreach (var d in dynObj)
    {
        var obj = d as System.Dynamic.ExpandoObject;

        if (obj != null)
        {
            var keys = obj.Select(a => a.Key).ToList();
            var values = obj.Select(a => a.Value).ToList();
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

属性名称在变量中时,如何获取对象属性值?

如何在C#中使用反射从类型和设置属性值中按名称获取属性

使用对象的值获取对象的属性名称

获取对象的值和属性名称

如何在C#中使用对象ID属性获取对象值

如何使用动态属性名称创建对象

使用C#反射,如果该对象是列表内的对象的属性,则如何获取对象的属性及其值

如何使用 selenium webdriver、NUnit 和 C# 获取元素属性的子属性值

如何从数组获取属性名称和值

从C#中的动态JSON获取属性名称,然后在foreach循环中使用这些属性

如何使用FastMember获取动态对象的属性?

在 C# 中如何将属性名称和值列表转换为实例化的类对象

C# 从对象中获取属性值

c#如何从xslt获取属性名称

如何通过属性名称获取对象的属性值?

在jQuery中动态选择时如何获取单选按钮的名称和值?

C#创建具有动态属性的对象:LINQ通过属性名称数组选择List <object>值

如何获取属性名称和值并创建一个新对象

Tkinter通过参考编号获取对象的名称,属性和值

从对象属性获取最大值和名称

C#按属性名称获取Xelement属性值

CsvHelper,编写动态变量名称(C#)

如何使用XDocument C#获取xsi:noNamespaceSchemaLocation属性的值

使用.map()呈现JS对象的属性值和属性名称

如何在C#中获取当前方法的名称及其参数(名称和值)

从c#中任何枚举类型的枚举对象获取枚举名称和字符串值

解析xml时无法获取属性的名称和值

c# SQLite 如何在 Dictionay 中使用字段名称和字段值按 id 存储对象

如何使用JavaScript获取对象的属性值