【问题标题】:Best practices for fixed-width processing in .NET.NET 中固定宽度处理的最佳实践
【发布时间】:2010-10-16 14:42:25
【问题描述】:

我正在使用一个 .NET Web 服务,它将处理一个具有相对较长的多级记录格式的文本文件。文件中的每条记录代表一个不同的实体;记录包含多个子类型。 (COBOL 作业当前正在处理相同的记录格式,如果这能让您更好地了解我们正在查看的内容)。我创建了一个类结构(如果你愿意的话,一个 DATA DIVISION)来保存输入数据。

我的问题是,在 .NET 中处理大型、复杂的固定宽度文件时,您发现了哪些最佳实践?我的一般方法是将整行读入一个字符串,然后将字符串中的数据解析到我创建的类中。但是我不确定将字符串中的字符作为数组使用还是使用字符串本身会得到更好的结果。我想这是具体的问题,string vs. char[],但我会很感激任何人有任何其他指针。

谢谢。

【问题讨论】:

    标签: .net fixed-length-record


    【解决方案1】:

    我将构建与行中的数据匹配的类,使用类型、长度等属性。然后使用Microsoft.VisualBasic.FileIO.TextFieldParser 对象读取文件,并使用一些通用代码基于类对解析器进行编程,然后读取数据并创建类的实例(全部使用反射)。

    我用它来读取 CSV,它快速、灵活、可扩展、通用且易于维护。我还有一些属性,允许我在读取每个字段时为其添加通用验证。

    我会分享我的代码,但它是我工作的公司的 IP。

    【讨论】:

    • +1 用于了解 TextFileParser。这里似乎没有人知道它。除非它有什么秘密问题,以至于没有人喜欢提及它?
    • 同意。我以前也从来没有负责过。非常感谢ck。
    • 其实是TextFieldParser。我同意这是一个非常有用的课程。
    猜你喜欢
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 2018-01-03
    相关资源
    最近更新 更多