簡體   English   中英

將C#類的列表序列化為CSV文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM