我正在尝试检查是否所有必需的子目录都存在,并为此使用以下代码段:

DirectoryInfo gccdir = new DirectoryInfo(txtgccPath.Text);
List<string> subdirectories = new List<string>();

foreach (var item in gccdir.GetDirectories())
{
   subdirectories.Add(item.Name);
}

if (subdirectories.Contains("bin") &&
    subdirectories.Contains("i686-w64-mingw32") &&
    subdirectories.Contains("include") &&
    subdirectories.Contains("lib") &&
    subdirectories.Contains("libexec") &&
    subdirectories.Contains("share"))
{
  //statements
}


有什么更好的方法吗?
在这种情况下,需要验证多个条件,如何避免if else语句过度使用的最佳方法是什么?

最佳答案

你可以喜欢

if(new[] {"bin", "include", "lib"}.All(subdirectories.Contains))
{


}


等等

关于c# - 有没有比使用嵌套的ifs更好的方法来检查C#中几个子目录的存在?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17594153/

10-11 21:03