我四处搜索,每个人都说在C#中处理CSV文件的最佳方法是Filehelpers。但我一直在寻找,我找不到有关如何附加csv文件的综合指南。我有这门课:
class FlashCard
{
public static string Front { get; private set; }
public static string Back { get; private set; }
public static Difficulty CardDifficulty { get; private set; }
public enum Difficulty
{
easy,
medium,
hard,
very
}
public void Flashcard(string front, string back, Difficulty Difficulty )
{
Front = front;
Back = back;
CardDifficulty = Difficulty;
}
}
我想在CSV文件中保存它的实例。但是如何?
答案 0 :(得分:1)
您必须已经有一个csv文件,然后您可以轻松地将此文件转换为您的实体(如FlashCards)。
快速查看http://www.filehelpers.net/quickstart/
首先,您必须使用属性[DelimitedRecord(",")]
标记您的课程答案 1 :(得分:0)
要使用FileHelpers从您的班级编写CSV文件,请将您的班级映射到'规范'描述CSV文件的类。这样的事情。
[DelimitedRecord(",")]
public class FlashCardCsvRow
{
public string Front;
public string Back;
public string CardDifficulty;
}
var flashcards = new List<FlashCard>(); // your class above
// populate flashcards however you like
var csvRows = flashCards.Select(x =>
new FlashCardCsvRow()
{
Front = x.Front,
Back = x.Back,
CardDifficulty = x.CardDifficulty.ToString();
});
var engine = new FileHelperEngine<FlashCardCsvRow>();
engine.WriteFile("Output.Txt", csvRows);
FileHelpers有许多不错的功能可以帮助您。例如,您可能希望实施your own enum converter而不是x.CardDifficulty.ToString()
。
顺便说一句,您static
中的FlashCard
属性会遇到问题。我不确定你是否打算让这些属性保持静态。