【发布时间】:2014-08-28 12:19:59
【问题描述】:
我正在使用 FileHelpers 解析一个制表符分隔的文件。
使用FieldNullValue 属性后,空值被忽略,我最终得到错误日志
在第 4 行的 'filed name' 字段后找不到(记录的字段较少,分隔符错误或必须将下一个字段标记为可选)。
分隔符的类定义:
[DelimitedRecord("\t")]
字段都是具有相同属性的字符串:
[FieldTrim(TrimMode.Both)]
[FieldNullValue("NULL")]
[FieldQuoted('"', QuoteMode.OptionalForRead, MultilineMode.AllowForRead)]
public String initials;
在十六进制编辑器中查看导入的文件,我可以看到背靠背标签字符 (09 09),我认为这是一个空字段。
正如您在屏幕截图中看到的那样,字段 5 和 9 为空。这些会被 filehelper 解析器忽略。有谁知道为什么?
【问题讨论】:
-
问题是什么?
-
为什么空值没有被 FieldNullValue 属性替换,而不是抛出关于字段数的错误
-
你的意思是改变输入格式吗?如果是这样,那么它不是一个选择。我正在考虑首先以编程方式编辑文件以将所有双制表符替换为空白字符串的路线,但并不想走这条路线。
-
您的模型是否允许 field5 和 9 的可空字段?
标签: c# filehelpers