将自定义对象数组写入c#(UWP)中的csv文件

将自定义对象数组写入c#(UWP)中的csv文件,c#,csv,uwp,C#,Csv,Uwp,我有一个对象列表,它也有几个属性,在我的UWP应用程序中,你应该能够下载is作为csv,每个对象有一个不同的行,每个属性用逗号分隔。 在搜索类似的问题时,我似乎找到了大多数过时的解决方案,但这些解决方案似乎不再有效 public class GebruikerFormulier { public int GebruikerFormulierId { get; set; } public string Voornaam { get; set; } public stri

我有一个对象列表,它也有几个属性,在我的UWP应用程序中,你应该能够下载is作为csv,每个对象有一个不同的行,每个属性用逗号分隔。 在搜索类似的问题时,我似乎找到了大多数过时的解决方案,但这些解决方案似乎不再有效

public class GebruikerFormulier
{
    public int GebruikerFormulierId { get; set; }

    public string Voornaam { get; set; }

    public string Achternaam { get; set; }

    public string Geboortedatum { get; set; }

    public string Straat { get; set; }

    public string Email { get; set; }

    public int Telnr { get; set; }

    public string Campus { get; set; }

    public string Richting { get; set; }
}

这是我需要能够以csv形式下载的对象GebruikPerformUlier的列表,下面是我为我的一个项目所做的工作

创建了将返回带引号的CSV字符串的基类

public class CSVClass
{
    public static string AsString(string text)
    {
        return "\"" + text + "\"";
    }
}
然后,我将该类继承给所有需要CSV string+overwrite
.ToString()
返回基于CSV的字符串的类。你的情况如下

public class GebruikerFormulier : CSVClass
{
    public int GebruikerFormulierId { get; set; }
    public string Voornaam { get; set; }
    public string Achternaam { get; set; }
    public string Geboortedatum { get; set; }
    public string Straat { get; set; }
    public string Email { get; set; }
    public int Telnr { get; set; }
    public string Campus { get; set; }
    public string Richting { get; set; }

    public override string ToString()
    {
        return GebruikerFormulierId.ToString() + "," +
                            AsString(Voornaam) + "," +
                            AsString(Achternaam) + "," +
                            AsString(Geboortedatum) + "," +
                            AsString(Straat) + "," +
                            AsString(Email) + "," +
                            Telnr + "," +
                            AsString(Campus) + "," +
                            AsString(Richting) + Environment.NewLine;
    }
}
现在,您只需要一个StringBuilder将所有这些作为单个字符串附加。如下图所示

StringBuilder stringBuilder = new StringBuilder();
foreach(GebruikerFormulier item in data)   //Here data is `List<GebruikerFormulier>`
{
    stringBuilder.Append(item.ToString());
}
StringBuilder StringBuilder=新建StringBuilder();
foreach(数据中的GebruikPerformUlier项)//这里的数据是`列表`
{
追加(item.ToString());
}

您的
stringBuilder.ToString()
将返回完整的
CSV

以下是我为我的一个项目所做的

创建了将返回带引号的CSV字符串的基类

public class CSVClass
{
    public static string AsString(string text)
    {
        return "\"" + text + "\"";
    }
}
然后,我将该类继承给所有需要CSV string+overwrite
.ToString()
返回基于CSV的字符串的类。你的情况如下

public class GebruikerFormulier : CSVClass
{
    public int GebruikerFormulierId { get; set; }
    public string Voornaam { get; set; }
    public string Achternaam { get; set; }
    public string Geboortedatum { get; set; }
    public string Straat { get; set; }
    public string Email { get; set; }
    public int Telnr { get; set; }
    public string Campus { get; set; }
    public string Richting { get; set; }

    public override string ToString()
    {
        return GebruikerFormulierId.ToString() + "," +
                            AsString(Voornaam) + "," +
                            AsString(Achternaam) + "," +
                            AsString(Geboortedatum) + "," +
                            AsString(Straat) + "," +
                            AsString(Email) + "," +
                            Telnr + "," +
                            AsString(Campus) + "," +
                            AsString(Richting) + Environment.NewLine;
    }
}
现在,您只需要一个StringBuilder将所有这些作为单个字符串附加。如下图所示

StringBuilder stringBuilder = new StringBuilder();
foreach(GebruikerFormulier item in data)   //Here data is `List<GebruikerFormulier>`
{
    stringBuilder.Append(item.ToString());
}
StringBuilder StringBuilder=新建StringBuilder();
foreach(数据中的GebruikPerformUlier项)//这里的数据是`列表`
{
追加(item.ToString());
}

你的
stringBuilder.ToString()
将返回完整的
CSV

你能提供一个基类对象的示例吗?我用类编辑了我的问题你能提供一个基类对象的示例吗?我用类编辑了我的问题