是否有一种更简单的方法来编码数组到CSV编写器

Lou*_*hys 0 .net c# csv string

我在另一个问题中找到了这个实现

public static void SaveArrayAsCSV<T>(T[] arrayToSave, string fileName)
{
    using (StreamWriter file = new StreamWriter(fileName))
    {
        foreach (T item in arrayToSave)
        {
            file.Write(item + ",");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,这有一些缺点,例如在数组结束后的尾随逗号,并且它错过了该项可能在其中具有逗号的可能性.我可以通过if-else修复此问题,但代码会变得更大.有没有更简单的方法将数组格式化为csv线?可能通过使用linq或更强大的方法File.WriteAllText吗?

Dar*_*rov 7

停止滚动您自己的CSV解析器.使用现有的CSV解析器来处理CSV文件.例如FileHelpers.我无法相信仍然有人在这样做,就像你这样做.

  • 这是同一件事.编写CSV并不是一件容易的事.相信我,如果你走这条路,这将代表你. (3认同)
  • @DarinDimitrov对于编写CSV的一些简单案例可能是非常简单的任务,并且使用新的库/框架 - 而不是.所以这绝对取决于任务. (2认同)
  • @ie.,我真的很想相信你,不幸的是我还没有遇到一个真实世界的例子,写CSV是一项简单的任务.在我的职业生涯中,我还没有在现实世界中遇到过这样的情况.对于教育目的和POC来说它可能是好的,但是一旦你在生产中遇到真实世界的应用程序的荒野,手工执行这将是字节.我只是坚持这一点,以便编写真实世界应用程序的人不会做错手工操作.但是对于POC和示威游行而言,加入和分裂当然是可以接受的,甚至可能有效. (2认同)