【问题标题】:Using ChoETL to print CSV file returns values to Console as "dynamic"使用 ChoETL 打印 CSV 文件将值作为“动态”返回到控制台
【发布时间】:2022-01-13 22:09:58
【问题描述】:

您好,我是 C# 新手,明天必须提交一个模块进行集成测试。我正在尝试一种简单快捷的方式来读取 CSV 文件并偶然发现了 ChoETL: https://www.codeproject.com/Articles/1145337/Cinchoo-ETL-CSV-Reader?msg=5847644#xx5847644xx

按照他们的第一个示例,我尝试运行代码:

using ChoETL;
using System;

foreach (dynamic rec in new ChoCSVReader("Emp.csv")
    .WithFirstLineHeader())
{            
    Console.WriteLine($"Id: {rec.Id}");
    Console.WriteLine($"Name: {rec.Name}");
}

当我运行它时,我得到了输出:

Id: 1
Name: dynamic
Id: 2
Name: dynamic
Id: 3
Name: dynamic

代替:

Id: 1
Name: Tom
Id: 2
Name: Carl
Id: 3
Name: Mark

这是为什么呢? rec 在运行时转向了什么?我对动态类型一无所知

我在 VS2019 上的 NetCore 5.0 上的控制台项目上运行了这个

【问题讨论】:

    标签: c# .net-core choetl


    【解决方案1】:

    这是最近的包(v1.2.1.30)中的错误。或者,为了成功运行示例,请执行以下操作

    foreach (dynamic rec in ChoCSVReader.LoadText(csv).WithFirstLineHeader())
    {
        Console.WriteLine($"Id: {rec.Id}");
        Console.WriteLine($"Name: " + rec["Name"]);
    }
    

    更新:

    此问题已修复并使用 v1.2.1.32 推送到 nuget 并尝试一下。

    小提琴样本https://dotnetfiddle.net/REcRCc

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多