将ArrayList转换为分隔的文本文件

时间:2009-04-30 16:46:01

标签: .net vb.net

我之前询问过有关会议策划应用的问题,以及如何删除数组中的特定条目。有人提出了使用ArrayList而不是普通数组的有趣建议。我正在尝试学习ArrayList,但没有好结果。我甚至无法使ToString方法正常工作以将我想要的内容写入文本文件。

我有三个重要的领域:

  • Day就是monthcalendar1.selectionend
  • ToD是在组合框中选择的任何内容(cmbTime.text)
  • 约会是约会描述的文本框字段中的任何内容(txtAPPT.text)

我的计划是让这三个字段中的每一个在ArrayList中都有自己的条目,但是当它保存到文本文件时,这三个字段以逗号分隔为每个约会的一行。当然,当加载文本时,必须将其转换回来。任何人都可以指出我正确的方向或使用ArrayList进行任何其他方法吗?

3 个答案:

答案 0 :(得分:2)

我建议使用包含数据的类的通用列表,而不是arraylist。然后,对于逗号分隔的数据,只需覆盖类的.ToString()函数,以返回它们之间带逗号的字段。只需构建一个解析函数,将分隔的字符串读回到类中,就可以了。

Public Overrides Function ToString() As String
        Return Day & ',' & ToD & ',' & Appointment
End Function

如果您不需要以逗号分隔文件,则应考虑使用XML序列化将其保存到文件中。

答案 1 :(得分:0)

我将创建一个类来封装这三个字段,并定义一个ToString方法,以逗号分隔的形式输出它们。然后,您还可以为此类提供Shared方法,以将逗号分隔的字符串解析回对象。

然后,您的ArrayList将保存此类的对象,并且每行输出一个。

答案 2 :(得分:0)

我建议您使用类的结构作为三个数据字段的持有者。然后,您可以覆盖其ToString()以您希望的方式输出数据。您可以添加一个函数来初始化给定字符串的数据成员(读取一行文本)。

就ArrayList(或者最好是List<YourHolderClass>)而言,你可以只做一个简单的for / foreach循环,并在每个holder元素上调用ToString。将结果一次写入文件一行

希望这会指出你正确的方向。

相关问题