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

本文关键字:文本 文件 输出 结果 LINQ 命令 | 更新日期: 2023-09-27 18:07:33

 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"。

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

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

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);
}