对于初学者来说,请注意,我是C#,StackOverflow和一般编程的新手。我在Directory.GetFiles中的System.IO方法遇到麻烦。除了searchOption重载以外,我所有的代码都在工作。这是我当前的代码。

string[] files = Directory.GetFiles(path:"C:/example", searchPattern:"*.txt");

foreach(string name in files) { Console.WriteLine(name); }


我遇到了麻烦,因为我希望代码段搜索目录“ example”及其所有子目录。我已经读过here它应该看起来像SearchOption.AllDirectories一样,但是当我在Visual Studio(2015年专业版)中尝试使用它时,IntelliSense会拉出看起来更像searchOption:的东西,但我不知道如何将AllDirectories参数放入此重载。我所做的任何事情都会导致以下错误之一。


  我已经尝试了什么(上面的代码,其中之一是第三个重载):
  
  System.IO.SearchOption.AllDirectories-命名参数规范必须在指定所有固定参数之后出现。
  
  searchOption:AllDirectories-名称“ AllDirectories”在当前上下文中不存在。
  
  searchOption:“ AllDirectories”-无法从“字符串”转换为“ System.IO.SearchOption”。


依此类推。我已经在MSDN,Google,StackOverflow,codeproject和其他产品上对该主题进行了至少3个小时的研究,但仍然找不到答案。

最佳答案

尝试以下方法:

string[] files = Directory.EnumerateFiles(stage_path,"*.txt",SearchOption.AllDirectories).ToArray();

10-07 21:01