c# - 从 CsvHelper 升级,修复重大更改

标签 c# nuget-package csvhelper

GitHub of CsvHelper project所示该配置现在是只读的,因此我已将属性初始化移至构造函数中。还有一个属性现在不受支持:IgnoreQuotes

新的对应参数是什么?

var config = new CsvConfiguration(CultureInfo.InvariantCulture)
                {
                    HasHeaderRecord = true,
                    BadDataFound = null,
                    Delimiter = ",",
                    Quote = '"',
                    
                    IgnoreQuotes = true

            };

最佳答案

不是 IgnoreQuotes,而是 ParserMode。从版本 21.1.0 开始,有 3 种模式。

  • RFC4180
  • 逃脱
  • 无处可逃

RFC4180 将按照“spec”所述处理字段,并期望在包含分隔符、换行符或双引号的字段周围加双引号。如果字段中有双引号,则需要用双引号对其进行转义(前面)。

Escape 将仅使用转义字符并忽略转义后的字符。

NoEscape 将忽略双引号和转义字符。这意味着字段不能包含分隔符、双引号或换行符,因为无法转义它们。

您可以设置分隔符(字符串)、引号(字符)、转义符(字符)和换行符(字符串)。

关于c# - 从 CsvHelper 升级,修复重大更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65793127/

相关文章:

c# - 在 C# 中通过 TCP 发送 XML 格式的消息

c# - 模拟副作用

nuget-package - 如何创建和使用 ASP.NET vNext 类库 NuGet 包?

visual-studio-2010 - 作为构建过程的一部分自动创建 NuGet 包

asp.net-mvc - 使用 CSVHelper 将流输出到浏览器

c# - 使用c#将文件上传到服务器

c# - 在 C# 应用程序中的线程之间共享数据库连接?

visual-studio-2010 - NuGet 包管理器错误 : The remote name could not be resolved

c# - 无法将大量数据写入流

c# - 使用 csvhelper 和 memorystream 时字节长度错误