LINQ Chaining中的Any()运算符

时间:2014-03-08 21:15:04

标签: c# .net performance linq directory

我有以下查询

Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories).Any()

如果存在的Any One .txt文件比上面的表达式返回true。我的怀疑是上面的递归枚举是否在第一次出现.txt或Directory.GetFiles()时给出了所有.txt列表,然后Any()函数将应用于GetAllFiles()发送的IEnumerable。

我的目的是找出给定路径是否至少包含任何一个txt文件

谢谢

1 个答案:

答案 0 :(得分:4)

我怀疑上面的递归枚举是否在第一次出现.text

时停止

不,Directory.GetFiles返回string[]所以它会读取所有文件。请改用Directory.EnumerateFiles

Directory.EnumerateFiles(path, "*.txt", SearchOption.AllDirectories).Any();