首页 > 解决方案 > 从 CsvHelper 升级,修复重大更改

问题描述

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

新的对应参数是什么?

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

            };

标签: c#nuget-packagecsvhelper

解决方案


而不是IgnoreQuotesParserModes。截至版本21.1.0有 3 种模式。

  • RFC4180
  • 逃脱
  • 无法逃避

RFC4180将像“规范”所说的那样对待字段,并期望在包含分隔符、换行符或双引号的字段周围加上双引号。如果字段中包含双引号,则需要使用双引号对其进行转义(前面)。

Escape将仅使用转义字符并在转义后立即忽略该字符。

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

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


推荐阅读