如何获取具有特定子字符串标题的目录的文件名

时间:2013-02-27 17:51:26

标签: linq linq-to-entities

我正在尝试将文件中的所有行读入具有特定子字符串标题的目录中。

我只需要一行代码就可以了,这就是我尝试使用LINQ的原因。

File.ReadAllLines(Directory.GetFiles(Path).Select(i=>  i.Where(i.Contains("mystring")) );

但是编译器不喜欢它 - 我怎么能实现这个呢?

3 个答案:

答案 0 :(得分:0)

试试这个:File.ReadAllLines(Directory.GetFiles(Path).First(i => i.Contains("mystring")))

答案 1 :(得分:0)

要获取标题中包含某些字符串的所有文件,请使用该查询:

Directory.GetFiles(Path).Where(f => f.Contains("mystring").ToList())

您可以使用ToList()更改First()以仅获取第一个而不是全部。

答案 2 :(得分:0)

试试这个,它会处理可能的异常。

string fileContent = string.Empty;
var fileName = Directory.GetFiles(Path).Where(i => i.Contains("mystring")).FirstOrDefault();
if(!string.IsNullOrEmpty(fileName))
  fileContent = File.ReadAllLines(fileName);