在我的C#程序中,我试图从txt文件中仅读取以Mr.,Ms。或Mrs.开头的行,然后将这些行打印到单独的txt文件中,但是只要我运行了已有的文件,没有内容写入新文件,因此它为空白。
这是我所拥有的:
var prefixes = new List<string> { "Mr.", "Mrs.", "Ms." };
var nameIDLines = File.ReadAllLines(filePath)
.Where(line => prefixes.All(prefix => line.StartsWith(prefix)))
.ToList();
filteredAsString = string.Join(Environment.NewLine, nameIDLines);
using (StreamWriter outputFile = new StreamWriter(mydocpath + @"\nameIDLines.txt"))
{
outputFile.Write(filteredAsString);
}
最佳答案
用All
替换Any
,因为字符串不能以所有前缀开头,只能是其中一个。
var nameIDLines = File.ReadAllLines(filePath)
.Where(line => prefixes.Any(prefix => line.StartsWith(prefix)))
.ToList();