[英]Serialize list of classes c# into a csv file
我有以下幾點:
類寵物
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;}
類ViewModel
public ObservableCollection<Person> People {get; set;}
我希望將People
對象序列化為一個csv
文件。
這樣的任務可以實現嗎?
我發現了一個只能處理字符串的CSV Serializer
。
一個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]
但是之后將很難消費。
編輯完成后,很明顯OP對以CSV格式序列化很感興趣,因此我建議嘗試CsvMapper 。
var csv = new CsvWriter( textWriter );
csv.WriteRecords( list );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.