这是我的代码:
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);
答案 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
您不需要对所有内容进行完全限定,因此您的代码将更加清晰。