无法从'string'转换为'System.Collections.Generic.IEnumerable <string> </string>

时间:2014-01-04 14:23:46

标签: c# export text-files

这是我的代码:

string path = @"c:\temp\mytext.txt";
string[] lines = System.IO.File.ReadAllLines(path);

foreach (var line in lines)
{
    var firstValue = line.Split(new string[] { "   " }, StringSplitOptions.RemoveEmptyEntries)[0];
    Console.WriteLine(firstValue);

    System.IO.File.WriteAllLines(@"C:\temp\WriteLines.txt", firstValue);
}

我想将第一个值导出到文本文件中。我怎么能出口呢?

我收到此错误:

  

无法从'string'转换为'System.Collections.Generic.IEnumerable'

在这一行

System.IO.File.WriteAllLines(@"C:\temp\WriteLines.txt", firstValue);

1 个答案:

答案 0 :(得分:9)

File.WriteAllLines获取字符串的序列 - 您只有单个字符串。

如果您只希望文件包含该单个字符串,请使用File.WriteAllText

File.WriteAllText(@"C:\temp\WriteLines.txt", firstValue);

但是,鉴于你已经在循环中 ,它将继续用输入文件的每一行的第一部分替换文件的内容。

如果您尝试将输入文件的每个行的第一部分放入输出文件中,那么最好使用:

var query = File.ReadLines(inputFile)
                .Select(line => line.Split(new string[] { "   " },
                                           StringSplitOptions.RemoveEmptyEntries)[0]);
File.WriteAllLines(outputFile, query);

请注意,{/ 1}}指令为

using

您不需要对所有内容进行完全限定,因此您的代码将更加清晰。