我正在尝试将文件中的所有行读取到具有特定子字符串标题的目录中。
我只需要一行代码就可以完成所有工作,这就是我尝试使用 LINQ 的原因。
File.ReadAllLines(Directory.GetFiles(Path).Select(i=> i.Where(i.Contains("mystring")) );
但编译器不喜欢它——我怎样才能做到这一点?
我正在尝试将文件中的所有行读取到具有特定子字符串标题的目录中。
我只需要一行代码就可以完成所有工作,这就是我尝试使用 LINQ 的原因。
File.ReadAllLines(Directory.GetFiles(Path).Select(i=> i.Where(i.Contains("mystring")) );
但编译器不喜欢它——我怎样才能做到这一点?
试试这个,它处理可能的异常。
string fileContent = string.Empty;
var fileName = Directory.GetFiles(Path).Where(i => i.Contains("mystring")).FirstOrDefault();
if(!string.IsNullOrEmpty(fileName))
fileContent = File.ReadAllLines(fileName);
尝试这个:File.ReadAllLines(Directory.GetFiles(Path).First(i => i.Contains("mystring")))
要获取标题中包含某些字符串的所有文件,请使用该查询:
Directory.GetFiles(Path).Where(f => f.Contains("mystring").ToList())
您可以更改ToList()
为First()
仅获取第一个而不是全部。