有没有4.0的AppendAllLines的.NET 3.5当量?(Is there a .NET

2019-10-18 22:01发布

var output = DataList.Select(x => x.blah blah blah); 
string outputFilePath = @"C:\output.txt";
File.AppendAllLines(outputFilePath, output);

我上面的.NET 4的代码放入了/下一个循环,遍历了几次,所以追加是必要的(而不是覆盖/重写)。 现在,我已经告诉我必须使用.NET 3.5,而不是和AppendAllLines吐出错误“有System.IO.File”不包含AppendAllLines的定义。

有谁知道,不需要我改变现有的代码过于急剧,并使用.NET 3.5的修复?

Answer 1:

在框架都不存在,恰恰如此,使用适当的分流,但你可以写你自己的方法很轻松地:

public static void AppendAllLines(string path, IEnumerable<string> lines)
{
    using (var writer = new StreamWriter(path, true))
        foreach (var line in lines)
            writer.WriteLine(line);
}


Answer 2:

File.AppendAllText可用。

var output = string.Join(Environment.NewLine, DataList.Select(x => x.blah blah blah).ToArray());
string outputFilePath = @"C:\output.txt";
File.AppendAllText(outputFilePath, output);

应工作, string.Join需要一个stringstring[]



文章来源: Is there a .NET 3.5 equivalent of 4.0's AppendAllLines?
标签: c# .net io