首页 > 解决方案 > 当标头不存在时,如何使用 CsvHelper ClassMap 将默认值设置为字段?

问题描述

我想知道即使不存在标题列,是否有办法为字段设置默认值。我知道我可以在指定时设置默认值,但是当未指定 Sex 列名称时,我想将 Sex 设置为枚举值 Sex.Unknown。

File example 1 :
Id, Name, Sex
1, Name 1, Male
2, Name 2, Female

File example 2 :
Id, Name
1, Name 1
2, Name 2

  Public NotInheritable Class CustomLineModelClassMap
    Inherits ClassMap(Of LineModel)

    Public Sub New()
        Map(Function(m) m.Id)
        Map(Function(m) m.Name)

        Map(Function(m) m.Sex).Optional().Name("Sex").Default(Sex.Unknown).TypeConverter(Of CustomEnumerationConverter(Of Sex))
End Class

标签: csvhelper

解决方案


这可能并不理想,但只要 Sex 是最后一项,这似乎对我有用。

csv.Configuration.MissingFieldFound = Nothing

推荐阅读