从 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
};
而不是 IgnoreQuotes
有 ParserMode
。从版本 21.1.0
开始,有 3 种模式。
- RFC4180
- 逃脱
- 无法逃脱
RFC4180
将像“规范”所说的那样处理字段,并期望在包含定界符、换行符或双引号的字段周围使用双引号。如果一个字段中有双引号,则需要用双引号对其进行转义(前面)。
Escape
将只使用转义字符并忽略转义后的字符。
NoEscape
将忽略双引号和转义字符。这意味着字段不能包含定界符、双引号或换行符,因为无法对它们进行转义。
您可以设置定界符(字符串)、引号(字符)、转义符(字符)和换行符(字符串)。
如 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
将像“规范”所说的那样处理字段,并期望在包含定界符、换行符或双引号的字段周围使用双引号。如果一个字段中有双引号,则需要用双引号对其进行转义(前面)。
Escape
将只使用转义字符并忽略转义后的字符。
NoEscape
将忽略双引号和转义字符。这意味着字段不能包含定界符、双引号或换行符,因为无法对它们进行转义。
您可以设置定界符(字符串)、引号(字符)、转义符(字符)和换行符(字符串)。