【问题标题】:CSVHelper version 2, .QuoteAllFields property gone, what replaces it?CSVHelper 版本 2,.QuoteAllFields 属性消失了,用什么代替它?
【发布时间】:2020-11-30 19:40:13
【问题描述】:

我一直在使用 CSV Helper 很好,我设置了这个属性:

sv.Configuration.QuoteAllFields = true;

在所有字段周围加上引号。但是,在版本 2 中,该属性消失了。有没有等价物?如果不是,我们如何继续在所有字段中加上引号?

我在 Google 或文档中找不到任何关于此的内容。

【问题讨论】:

  • 根据文档,它应该仍然存在于 2.x 中。你能知道你正在使用的确切版本和你得到的确切错误吗?
  • 我下载了最新版本(Nuget v12.1.0)并在 ILSpy 中检查了它。果然QuoteAllFields已经不存在了。
  • 我认为这个问题适用:github.com/JoshClose/CsvHelper/issues/1180

标签: c# csvhelper


【解决方案1】:

ShouldQuote 替换 QuoteAllFieldsQuoteNoFieldsQuoteRequiredCharsBuildREquiredQuoteChars

你现在可以这样做了。

csv.Configuration.ShouldQuote = (field, context) => true;

他们只是没有更新文档。

来源:https://github.com/JoshClose/CsvHelper/issues/1180

【讨论】:

  • 作为社区 wiki 提交,因为我不是原作者。
  • 谁能解释一下到底发生了什么?
  • 什么意思?你指的是什么?
  • 这是什么意思:csv.Configuration.ShouldQuote = (field, context) => true;为什么要使用匿名函数,字段和上下文可以改变吗,这样结构化的目的是什么?
  • 这是一个 lambda 函数,带有两个参数,一个字段和一个上下文,让您根据这些参数决定是否应该引用某些内容。相当于cvs.Configuration.ShouldQuote = (field, context) => { return true; }。提供字段和上下文供您决定是否引用。像这样构造它的目的是更好的可扩展性和灵活性,可以随心所欲地引用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 2010-09-25
相关资源
最近更新 更多