filehelper在读取记录之前更改RecordLine

本文关键字:RecordLine 读取 记录 filehelper | 更新日期: 2023-09-27 18:16:53

我正在使用FileHelpers库读取一个巨大的文件。我想在阅读下面的记录之前更改RecordLine。

   static void engine_BeforeReadRecord(object sender, BeforeReadRecordEventArgs<object> e)
    {
        if (e.RecordLine.Contains(@"'|"))
            e.RecordLine.Replace(@"'|", "");
    }

他们的在线帮助也说可以修改

<>之前注意:如果您更改RecordLine,引擎将使用更改后的值这在某些情况下是有用的,但你必须小心之前

但它不起作用。我的做法是否有什么问题?

filehelper在读取记录之前更改RecordLine

假设RecordLine是一个字符串,您调用.Replace()函数,但该函数不修改字符串内联—它返回一个新字符串。你需要把结果赋值到某个地方:

if (e.RecordLine.Contains(@"'|"))
    e.RecordLine = e.RecordLine.Replace(@"'|", "");

对于最新版本的库,您可以这样做

http://www.filehelpers.net/download/

你也可以使用INotifyRead接口:

http://www.filehelpers.net/example/EventsAndNotification/INotifyRead/

我假设你正在设置事件?

engine.BeforeReadRecord += engine_BeforeReadRecord;