如何将LINQ命令的结果输出到文本文件?
问题描述:
var arrResults = Array1.Join(Array2, x => x.ID, x => x.ID, (first, second) => new
{
IDRecord = first.ID,
Count1 = first.Count,
Count2 = second.Count,
})
.OrderBy(item => item.IDRecord).ToArray();
// bind & display results in datagrid
dataGridView1.DataSource = arrResults;
我上面的代码不正是我想要的,并显示在DataGrid控件的结果。现在,我想将结果导出到一个文本文件C:\ output.txt中,而不是。我该怎么做呢?如何将LINQ命令的结果输出到文本文件?
我以前的尝试通常涉及获取的错误,说“无法从‘串’到System.Collections.Generic.IEnumerable转换”。
答
首先结果转换为字符串:
var lines = arrResults.Select(record =>
record.ID + " " + record.Count1 + " " + record.Count2);//todo fix formatting
然后将它们全部写入文件。
File.WriteAllLines("file.txt", lines);
答
使用System.IO.Streamwriter
写入文件
using(StreamWriter sw = new StreamWriter(@"C:\output.txt")){
foreach(var s in arrResults)
sw.WriteLine(s);
}
参考见here。
那么,仍然有可能! – 2013-04-05 20:42:31