Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LumenWorks Csv Reader-如何检测数据行中存在但不在列中的列?_C#_Csv - Fatal编程技术网

C# LumenWorks Csv Reader-如何检测数据行中存在但不在列中的列?

C# LumenWorks Csv Reader-如何检测数据行中存在但不在列中的列?,c#,csv,C#,Csv,我使用LumenWorks CsvReader解析具有以下结构的文件 heading1,heading2,heading3 data1,data2,data3,data4,data5 代码检测到我每行有三个字段,因为我有三个标题。它允许我解析第一行并检索data1、data2和data3,但我无法访问data4或data5。至少,我希望能够检测数据行中的其他字段。有人知道这是否可能吗 谢谢 我希望您无法读取这些字段中的数据。相反,我希望出现一个错误,而您没有看到它。这至少允许您检测数据中是否存

我使用LumenWorks CsvReader解析具有以下结构的文件

heading1,heading2,heading3
data1,data2,data3,data4,data5
代码检测到我每行有三个字段,因为我有三个标题。它允许我解析第一行并检索data1、data2和data3,但我无法访问data4或data5。至少,我希望能够检测数据行中的其他字段。有人知道这是否可能吗


谢谢

我希望您无法读取这些字段中的数据。相反,我希望出现一个错误,而您没有看到它。这至少允许您检测数据中是否存在其他字段

尝试设置DefaultParseErrorAction枚举属性,以确保看到引发的任何错误。我本以为您描述的场景会触发一个畸形的DCSVException(如果您设置了DefaultParseErrorAction=ParseErrorAction.ThroweException)。您还可以设置DefaultParseErrorAction=ParseErrorAction.RaiseEvent,然后将事件处理程序附加到ParseError事件。最后,您应该能够在每个记录之后检查ParseErrorFlag是否为true


HTH

之所以这样做,是因为它使用第一行来知道文件有多少列。如果您将第一行更改为“heading1,heading2,heading3,,”,它将按预期工作。

您使用什么代码隐藏其他两个字段?我没有使用任何代码隐藏字段。我在想办法读,但我读不懂。我尝试将DefaultParseErrorAction设置为抛出异常,但它不会抛出任何东西。我还尝试检查ParseErrorFlag;不过,运气不好。谢谢你的建议:我不确定这是否正确,但肯定会是我第一件要尝试的事情+1以取消-1。我想知道的另一件事是,您是否可以在初始解析之后手动添加头4和头5。遗憾的是,
\u fieldHeaders
数组似乎是私有的,无法修改(我不确定它是否有效,但值得一试!)