从 CsvHelper 升级,修复重大更改

Upgrading from CsvHelper, fix breaking changes

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

新的对应参数是什么?

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

            };

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

  • RFC4180
  • 逃脱
  • 无法逃脱

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

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

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

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