C# 如何在LINQ创建的字符串之前插入字符串?

C# 如何在LINQ创建的字符串之前插入字符串?,c#,string,io,C#,String,Io,这是我的密码: var OutputText = listData.Select( x => x.Name, blah, blah, blah) ) string FilePath = @"C:\data.txt"; System.IO.File.WriteAllLines(FilePath, OutputText); OutputText是使用Select语句创建的一组字符串。上面的代码很有效,我对它的结果很满意。但是,现在我想在OutputText之前插入另一个字符串。。。字符串基本

这是我的密码:

var OutputText = listData.Select( x => x.Name, blah, blah, blah) )
string FilePath = @"C:\data.txt";
System.IO.File.WriteAllLines(FilePath, OutputText);

OutputText
是使用
Select
语句创建的一组字符串。上面的代码很有效,我对它的结果很满意。但是,现在我想在
OutputText
之前插入另一个字符串。。。字符串基本上是列标题,后跟回车符。我该怎么做?

可能类似于:

StringBuilder builder = new StringBuilder(); 
builder.AppendLine("HEADER STRING"); 

var OutputText = listData.Select( x => x.Name, blah, blah, blah) ); 
builder.Append(OutputText);

string FilePath = @"C:\data.txt";
System.IO.File.WriteAllLines(FilePath, builder.ToString());

可能是这样的:

StringBuilder builder = new StringBuilder(); 
builder.AppendLine("HEADER STRING"); 

var OutputText = listData.Select( x => x.Name, blah, blah, blah) ); 
builder.Append(OutputText);

string FilePath = @"C:\data.txt";
System.IO.File.WriteAllLines(FilePath, builder.ToString());
要保留“流”枚举,需要将第一行连接到其中:

var OutputText = listData.Select( x => x.Name, blah, blah, blah) );
string FilePath = @"C:\data.txt";
System.IO.File.WriteAllLines(FilePath, Enumerable.Repeat(myHeaderString, 1)
    .Concat(OutputText));
要保留“流”枚举,需要将第一行连接到其中:

var OutputText = listData.Select( x => x.Name, blah, blah, blah) );
string FilePath = @"C:\data.txt";
System.IO.File.WriteAllLines(FilePath, Enumerable.Repeat(myHeaderString, 1)
    .Concat(OutputText));

与OP的代码不同,这不会流式传输数据,而是在写入之前将整个结果集计算到内存中。此外,将一个项目插入列表的开头需要将所有其他项目下移,这有点昂贵。与OP的代码不同,这不会流式传输数据,而是在写入之前将整个结果集计算到内存中。此外,在列表开头插入一个项目需要将所有其他项目下移,这有点昂贵;它不需要先将整个文件的数据读入内存。谢谢Servy和Mark Hurd!与其他解决方案不同,此选项保持算法的流属性;它不需要先将整个文件的数据读入内存。谢谢Servy和Mark Hurd!与OP的“代码”不同,它不会对数据进行流式处理,而是在将整个结果集写入内存之前对其进行计算。@Servy:观察结果正确。对于这种情况,我只是没有深入了解优化,只是倾向于添加,而不是像公认的解决方案那样插入。与OP的代码不同,这不会将数据流化,而是在写入之前将整个结果集计算到内存中。@Servy:观察正确。我只是没有深入研究这个案例的优化,只是倾向于添加,而不是像公认的解决方案那样插入。