Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用filehelpers在CSV文件中存储数据?_C#_.net_Csv_Filehelpers - Fatal编程技术网

C# 如何使用filehelpers在CSV文件中存储数据?

C# 如何使用filehelpers在CSV文件中存储数据?,c#,.net,csv,filehelpers,C#,.net,Csv,Filehelpers,我四处搜索,每个人都说用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; pr

我四处搜索,每个人都说用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文件中。但是怎么做呢?

您必须已经有一个csv文件,然后您可以轻松地将该文件转换为您的实体,如闪存卡

请看一下快速入门


首先,您必须使用属性[DelimitedRecord,]

标记您的类。您必须已经有一个csv文件,然后您可以轻松地将该文件转换为您的实体,如闪存卡

请看一下快速入门


首先,您必须使用属性[DelimitedRecord]标记您的类。

要使用FileHelpers从类中写入CSV文件,请将您的类映射到描述CSV文件的“spec”类。像这样的

[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有很多很好的功能来帮助您进一步。例如,您可能希望实现而不是使用x.cardDemobility.ToString


顺便说一句,您在FlashCard中的静态属性会遇到麻烦。我不确定您是否打算将这些属性设置为静态。

要使用FileHelpers从类中编写CSV文件,请将类映射到描述CSV文件的“spec”类。像这样的

[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有很多很好的功能来帮助您进一步。例如,您可能希望实现而不是使用x.cardDemobility.ToString


顺便说一句,您在FlashCard中的静态属性会遇到麻烦。我不确定您是否打算将这些属性设置为静态。

您可以使用Linq2Csv库,它有一个处理csv文件的全面功能列表。您可以按照csv模式/标准手工创建csv格式,也可以使用可以为您创建csv格式的库/框架。您可以在线搜索执行此操作的库。CsvHelper是我知道的一个。您可以使用Linq2Csv库,它有一个处理csv文件的功能的全面列表。您可以按照csv模式/标准手工创建csv格式,也可以使用可以为您创建csv格式的库/框架。您可以在线搜索执行此操作的库。CsvHelper是我知道的一个。