如何使用 LINQ 或 LAMBDA 表达式从目录及其子文件夹中递归读取扩展名为 dll
的文件。
现在我正在使用嵌套的 for-each 循环来执行此操作。 有没有办法使用 LINQ 或 LAMBDA 表达式来做到这一点?
最佳答案
您不需要使用 LINQ 来执行此操作 - 它是 built into the framework :
string[] files = Directory.GetFiles(directory, "*.dll",
SearchOption.AllDirectories);
IEnumerable<string> files = Directory.EnumerateFiles(directory, "*.dll",
SearchOption.AllDirectories);
老实说,LINQ 在递归方面并不是很好。您可能想要编写自己的通用递归扩展方法。考虑到这类问题被问到的频率,我真的应该找个时间自己做一下......
关于c# - 如何使用 LINQ 从子文件夹中递归读取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3768757/