C# 是否有更简单的方法将数组编码到CSV编写器

C# 是否有更简单的方法将数组编码到CSV编写器,c#,.net,string,csv,C#,.net,String,Csv,我在中发现了这个实现 publicstaticvoidsavearrayascv(T[]arrayToSave,字符串文件名) { 使用(StreamWriter文件=新StreamWriter(文件名)) { foreach(arrayToSave中的T项) { 写入(项+“,”); } } } 但是,这有一些缺点,例如,数组末尾后面的逗号,并且它忽略了项中可能包含逗号的可能性。我可以用if-else来修复这个问题,但是代码会变得更大。是否有更简单的方法将数组格式化为csv行?可能通过使用l

我在中发现了这个实现

publicstaticvoidsavearrayascv(T[]arrayToSave,字符串文件名)
{
使用(StreamWriter文件=新StreamWriter(文件名))
{
foreach(arrayToSave中的T项)
{
写入(项+“,”);
}
}
}

但是,这有一些缺点,例如,数组末尾后面的逗号,并且它忽略了项中可能包含逗号的可能性。我可以用if-else来修复这个问题,但是代码会变得更大。是否有更简单的方法将数组格式化为csv行?可能通过使用linq或更强大的方法,如
File.writealText

请。使用现有的CSV解析器来操作CSV文件。比如说。我不敢相信还有人像你这样做。

我试图格式化为CSV,而不是解析它。我希望避免使用(并且必须部署)第三方库,这是一样的。编写CSV不是一件容易的任务。相信我,如果你这样做的话,这将是你的字节。你可以使用ADO.NET:但我建议你使用一个专门设计的库,因为
Microsoft.Jet.OLEDB
驱动程序有点差劲。@DarinDimitrov在一些简单的情况下编写CSV可能是一项非常简单的任务,而使用新的库/框架——不是。所以这完全取决于任务。@ie,我真的很想相信你,不幸的是,我还没有遇到一个真实世界的例子,在这个例子中,编写CSV是一项简单的任务。在我的整个职业生涯中,我还没有在现实世界的应用程序中遇到过这样的情况。对于教育目的和POC来说,它可能是好的,但是一旦你进入了生产中的实际应用程序的荒野,用手来做这件事就会失败。我只是坚持这样做,这样编写真实世界应用程序的人就不会犯手工操作的错误。但对于POC和演示来说,加入和拆分当然是可以接受的,甚至可能有效。
public static void SaveArrayAsCSV<T>(T[] arrayToSave, string fileName)
{
    using (StreamWriter file = new StreamWriter(fileName))
    {
        foreach (T item in arrayToSave)
        {
            file.Write(item + ",");
        }
    }
}