1

我正在设计一种要在 C# 中读取的文本文件格式。我需要在一行中存储类型:int、double 和 string。我打算使用 .CSV 格式,以便可以手动打开和读取文件。一个特定的记录可能有 8 种已知类型,然后是(字符串、整数、双精度)或(字符串、整数、双精度、双精度)的可变数量的“指示符”组合,并且某些行可能不包含“指示符”。因此,每条记录可以是可变长度的。

在 VB6 中,我只需输入数据,将数据拆分为变量数组,然后确定数组中该行的元素数,并使用 ***VarType 函数确定最终的“指标”变量是否为字符串、 int 或 double 并相应地解析字段。

可能有更好的方法来设计文本文件,这可能是最好的解决方案。如果是这样,我有兴趣听到想法。我进行了搜索,但没有发现专门讨论将混合类型的可变长度文本行读入 C# 的问题。

如果没有更好的格式,有没有办法在 C# 中复制 VB6 VarType 函数,如上面两段所述***?我可以在 C# 中轻松处理文本文件读取和行拆分。

4

2 回答 2

2

您可以使用 json 或 xml,因为它们在 .NET 中得到很好的支持并且具有自动序列化功能

于 2013-04-04T21:28:20.210 回答
1

首先,我同意 Keith 关于使用 Xml 或 JSON 的建议。你在这里重新发明了一个轮子。此页面有一个介绍性示例,说明如何将对象序列化为文件以及一些指向更多信息的链接。

如果您需要坚持使用自己的文件格式和自定义序列化/反序列化,请查看Convert类,以及与 int 和 double 等内在值类型挂钩的各种TryParse方法。

于 2013-04-04T21:40:01.797 回答