C# 将类的内容写入文件

C# 将类的内容写入文件,c#,C#,我有一个类,所有字符串属性如下: public class MyClass { public string Name {get;set;} public string Phone {get;set;} // a bunch of more fields.... { 以及该类的列表列出myListOfObjects;我已经用值填充了整个程序 然后我有一个带有标题的文件(csv): Name, Phone, etc... 我想将该myListOfObjects的内容写入该文件。 我

我有一个
,所有字符串属性如下:

public class MyClass 
{
  public string Name {get;set;}
  public string Phone {get;set;}
  // a bunch of more fields....
{
以及该类的列表
列出myListOfObjects
;我已经用值填充了整个程序

然后我有一个带有标题的
文件(csv)

Name, Phone, etc...
我想将该
myListOfObjects
的内容写入该文件。
我在想,只要在它们之间循环,然后为每个对象写一行。但我想看看有没有更好的办法

您可以一次写入所有数据,如

var list = new List<MyClass>();
var fileData = list.Select(row => string.Join(",", row.Name, row.Phone, row.Etc)).ToArray();

File.WriteAllLines(@"C:\YourFile", fileData);
var list=newlist();
var fileData=list.Select(row=>string.Join(“,”,row.Name,row.Phone,row.Etc)).ToArray();
writeAllines(@“C:\YourFile”,fileData);

注意:这是改进文件写入的一种方法,但它不会处理未转义的文本数据,如带有逗号的名称。

您可以为类重写
ToString()
,使其更简单,但循环和写入每个对象几乎就是这样。是否要将所有属性写入文件,“还是只有少数几个?@DanielGimenez,除了一个!有吗?@Bohn:如果你周日在Lambeau,在你的奶酪头上画上“Bohn”,我会在电视上找你。这不是一个很好的解决方案,不过如果你也能处理文本限定符和字符串转义的话。例如,如果名称中有一个公共名称,则此操作将失败。@DanielGimenez这是真的。从这个问题来看,他似乎已经解决了这个问题,他正在寻找一种“更好”的方法,而不是遍历每个对象并为每个对象写入文件。这只是为了给我们一个改进的提示,而不是处理未转义的文本数据。