2012-03-31 172 views
0

我想写从C#一个txt文件,如下所示:AppendAllLines替代解决方案

File.WriteAllText("important.txt", Convert.ToString(c)); 
File.AppendAllLines("important.txt", (from r in rec 
        select r.name + " " + r.num1 + " " + r.num2 + " " + r.mult + " " + r.rel).ToArray()); 

我收到错误AppendAllLInes没有发现有System.IO.File任何替代方法或我怎么能包括AppendAllLInes

+1

是否使用的是.NET的版本? AppendAllLines是在4.0或Visual Studio 2010中添加的。如果您使用的是以前的版本,则需要使用不同的解决方案。 – 2012-03-31 23:55:42

+0

我正在使用visual studio 2008 ...你能给我建议任何替代解决方案吗? – 2012-03-31 23:57:50

回答

0

一次写完。

var part1 = Convert.ToString(c); 
var part2 = String.Join(Environment.NewLine, 
       rec.Select(r => r.name + " " + r.num1 + " " + r.num2 + " " + r.mult + " " + r.rel) 
       .ToArray()); 
System.IO.File.WriteAllText("important.txt", part1 + part2); 

您也可以使用在3.5 WriteAllLines

var allLines = new []{Convert.ToString(c)} 
       .Concat(rec.Select(r => r.name + " " + r.num1 + " " + r.num2 + " " + r.mult + " " + r.rel)) 
       .ToArray(); 
System.IO.File.WriteAllLines("important.txt", allLines); 
+0

我在var text = part1 + String.Join(Environment.NewLine,r)中收到错误;它说不能将Ilist转换为字符串。 – 2012-04-01 00:06:14

+0

@Csharp_learner:编辑我的答案以添加“ToArray”。这应该也[3.5](http://msdn.microsoft.com/en-us/library/0h8wc12c%28v=vs.90%29.aspx)。 – 2012-04-01 00:13:27