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

use*_*332 2 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);
}
Run Code Online (Sandbox Code Playgroud)

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

我收到此错误:

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

在这条线上

System.IO.File.WriteAllLines(@"C:\temp\WriteLines.txt", firstValue);
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 9

File.WriteAllLines需要序列串的-你只得到了一个单一的字符串.

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

File.WriteAllText(@"C:\temp\WriteLines.txt", firstValue);
Run Code Online (Sandbox Code Playgroud)

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

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

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

请注意,使用using指令

using System.IO;
Run Code Online (Sandbox Code Playgroud)

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