2016-07-06 91 views
1

我有以下内容:序列化列表到CSV文件中

类宠物

public string PetType {get; set;} 
public string PetName {get; set;} 
public int PetAge {get; set;} 

类人

public string Name {get; set;} 
public int Age {get; set;} 
public List<Pet> ListOfPets {get; set;} 

类视图模型

public ObservableCollection<Person> People {get; set;} 

我希望将People对象序列化为csv文件。

可以实现这样的任务吗?

我发现了一个只能处理字符串的CSV Serializer

+1

https://www.nuget.org/packages/LinqToCsv/和http://www.codeproject.com/Articles/25133/LINQ-to-CSV-library –

+1

你如何期待ListOfPets是在你的csv文件中? – user3185569

+1

我不明白混淆,这个问题明确指出:*我希望将People对象序列化为一个csv文件。* –

回答

-1

编辑之后,很明显OP有兴趣以CSV格式序列化,所以我可以建议尝试CsvMapper

var csv = new CsvWriter(textWriter); 
csv.WriteRecords(list); 
0

csv文件是二维的,你不能包括第三维(宠物)。 您可以手动添加的宠物一个接一个,但你将失去CSV文件

的固定列数像这样

[Name],[Age],[Pet1Type][Pet1Name],[Pet1Age],[Pet2Type][Pet2Name],[Pet2Age] 
[Name],[Age],[Pet1Type][Pet1Name],[Pet1Age] 
[Name],[Age],[Pet1Type][Pet1Name],[Pet1Age],[Pet2Type][Pet2Name],[Pet2Age,[Pet3Type][Pet3Name],[Pet3Age] 

但它会更难事后消​​耗。