【发布时间】:2014-10-30 05:55:29
【问题描述】:
我有一堂课如下:
public class Test
{
public int Id {get;set;}
public string Name { get; set; }
public string CreatedDate {get;set;}
public string DueDate { get; set; }
public string ReferenceNo { get; set; }
public string Parent { get; set; }
}
我有一个测试对象列表
List<Test>testobjs=new List();
现在我想将其转换为以下格式的 csv:
"1,约翰·格里沙姆,9/5/2014,9/5/2014,1356,0\n2,斯蒂芬·金,9/3/2014,9/9/2014,1367,0\n3,造雨者,4/9/2014,18/9/2014,1";
我搜索了“Converting list to csv c#”,得到的解决方案如下:
string.Join(",", list.Select(n => n.ToString()).ToArray())
但这不会根据需要放置 \n,即每个对象
除了字符串构建之外,还有什么最快的方法可以做到这一点吗?请帮忙...
【问题讨论】:
-
你是否覆盖了默认的
ToString? -
不,我没有尝试覆盖..你能告诉我一个覆盖如何帮助实现这一目标的例子吗?
-
与您的标题相反,您不是在寻找最快的方式,而是寻找任何有效的方式。
string.Join(",", ...)不是编写 CSV 的正确方法。见Writing a CSV file in .net。 -
这与我的标题并不矛盾,我只是说这是我在SO中搜索得到的解决方案
-
再次阅读我的评论。为什么要明确要求“最快的方式”?您不只是在寻找“任何可行的方式”吗?