如何将LINQ命令的结果输出到文本文件?

时间:2013-04-05 20:31:55

标签: c# string output

 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中。我该怎么做?

我以前的尝试通常涉及获取“无法从'string'转换为System.Collections.Generic.IEnumerable”的错误。

2 个答案:

答案 0 :(得分:2)

首先将结果转换为字符串:

var lines = arrResults.Select(record => 
    record.ID + " " + record.Count1 + " " + record.Count2);//todo fix formatting

然后将它们全部写入文件。

File.WriteAllLines("file.txt", lines);

答案 1 :(得分:0)

使用System.IO.Streamwriter写入文件

using(StreamWriter sw = new StreamWriter(@"C:\output.txt")){
   foreach(var s in arrResults)
       sw.WriteLine(s);

}

请参阅here以供参考。