如何使用c#从根文件夹路径中找到更大的数字文件夹?

时间:2016-01-27 08:26:38

标签: c# .net c#-4.0 directory c#-3.0

我在Controllers文件夹z1z2z3

中有3个文件夹

如何比较并找出z3在所有列出的文件夹中更大?

此代码将为我提供文件夹深度。

public static int FolderDepth(string path)
    {
        if (string.IsNullOrEmpty(path))
            return 0;
        DirectoryInfo parent = Directory.GetParent(path);
        if (parent == null)
            return 1;
        return FolderDepth(parent.FullName) + 1;
    }

enter image description here

  

名义上的更大的手段如3大于2&1,因此z3更大。   out put应该是z3

2 个答案:

答案 0 :(得分:1)

不太确定这是否是您想要的,但我试一试:

public bool DirectoryIsGreatest(string directoryPath)
{
  if (string.IsNullOrEmpty(path))
    return false;
  var parent = Directory.GetParent(directoryPath);
  if (parent == null)
    return false;
  var directoriesToCheck = Directory.GetDirectories(parent.FullName).ToList();
  directoriesToCheck.Sort();
  return directoriesToCheck[directoriesToCheck.Count - 1] == directoryPath;  
}

答案 1 :(得分:1)

var directory = Directory.GetDirectories(path)
                         .OrderByDescending(dir => dir)
                         .FirstOrDefault();

现在,您可能还有其他问题。什么应该是“更大”,z15z2?计算机怎么会发现?您的文件夹是否遵循模式?