gpt4 book ai didi

c# - IEnumerable 到 CSV 文件

转载 作者:可可西里 更新时间:2023-11-01 08:17:09 25 4
gpt4 key购买 nike

我正在从 LINQ 查询中获取类型为 IEnumerable<T> 的 var 的结果

我想根据 LINQ 的结果创建一个 CSV 文件

我从下面的查询中得到结果

var r = from table in myDataTable.AsEnumerable()
orderby table.Field<string>(para1)
group table by new { Name = table[para1], Y = table[para2] }
into ResultTable
select new
{
Name = ResultTable.Key,
Count = ResultTable.Count()
};

最佳答案

检查这个

 public static class LinqToCSV
{
public static string ToCsv<T>(this IEnumerable<T> items)
where T : class
{
var csvBuilder = new StringBuilder();
var properties = typeof(T).GetProperties();
foreach (T item in items)
{
string line = string.Join(",",properties.Select(p => p.GetValue(item, null).ToCsvValue()).ToArray());
csvBuilder.AppendLine(line);
}
return csvBuilder.ToString();
}

private static string ToCsvValue<T>(this T item)
{
if(item == null) return "\"\"";

if (item is string)
{
return string.Format("\"{0}\"", item.ToString().Replace("\"", "\\\""));
}
double dummy;
if (double.TryParse(item.ToString(), out dummy))
{
return string.Format("{0}", item);
}
return string.Format("\"{0}\"", item);
}
}

完整代码位于:Scott Hanselman's ComputerZen Blog - From Linq To CSV

关于c# - IEnumerable<T> 到 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6199644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com