列表到文本文件

时间:2013-02-04 15:04:57

标签: c# text-files

我有一组包含人物组的对象。每个人都有姓,姓,地址和电话号码。

我想将该列表导出到文本文件中,如下所示:

  

A组
  名字大卫
  姓氏 - 坎特
  ADDRES,意大利
  ******中国-123456

我该怎么办?到目前为止,我设法只导出对象类型名称:

public List<PhoneBookCore> elements = new List<PhoneBookCore>();

string[] lines = elements.Select(phoneBookCore =>
    phoneBookCore.ToString()).ToArray();
System.IO.File.WriteAllLines(path, lines);

1 个答案:

答案 0 :(得分:4)

您只有对象类型名称,因为PhoneBookCore.ToString()为您提供了对象类型名称。

您必须指定文件的外观。作为MikeCorcoran,一个很好的方法是使用序列化。这是一种非常强大的方式来存储和从文件中检索数据。

List<string> lines = new List<string>();
foreach(var phoneBookCore in elements)
{
    lines.Add(phoneBookCore.GroupName);  // Adds the Group Name
    foreach(var person in phoneBookCore.Persons)
    {
        // Adds the information on the person
        lines.Add(String.Format("FirstName-{0}", person.FirstName));
        lines.Add(String.Format("LastName-{0}", person.LastName));
        lines.Add(String.Format("Address-{0}", person.Address));
        lines.Add(String.Format("PhoneNumber-{0}", person.PhoneNumber));
    }
}
System.IO.File.WriteAllLines(path,lines);