C# - 文件夹验证

007*_*007 2 c#

string excludeSubFolders = "SubFolderA, SubFolderB, SubFolderC, SubFolderABC";

DirectoryInfo directory = new DirectoryInfo(myRootFolderPath);
DirectoryInfo[] directories = directory.GetDirectories();

    foreach (DirectoryInfo folder in directories)
       if (folder.Name.ToString().Trim() != "SubFolderA")
          {...}
Run Code Online (Sandbox Code Playgroud)

AC#newbie here.上面是我用来排除驻留在我的根文件夹(myRootFolderPath)中的"SubFolderA"的代码.我需要排除excludeSubFolders变量中列出的所有子文件夹.

谢谢

UPDATE:字符串excludeSubFolders正在通过c#代码之外的参数填充.我刚刚以c#期待的格式列出了该参数的输出.此参数今天也将具有"SubFolderA,SubFolderB,SubFolderC,SubFolderABC"值,而后天,有人会将其更改为"SubFolderA,SubFolderB,SubFolderC"并调用相同的c#代码.如何使用提供的字符串数组建议?

Mar*_*zek 6

  1. 更改excludeSubFoldersstring[]数组:

    string[] excludeSubFolders = new [] { "SubFolderA", "SubFolderB", "SubFolderC", "SubFolderABC" };
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用Contains方法:

    foreach (DirectoryInfo folder in directories)
       if (!excludeSubFolders.Contains(folder.Name))
          {...}
    
    Run Code Online (Sandbox Code Playgroud)
  3. 要获得string[]从单一的字符串使用String.Split()方法:

    var subFolders = input.Split(',').Select(x => x.Trim()).ToArray();
    
    Run Code Online (Sandbox Code Playgroud)