C# string.IsNullOrEmpty无法合并其他目录

C# string.IsNullOrEmpty无法合并其他目录,c#,.net-4.0,C#,.net 4.0,我想请求找到要合并的目录名(folder1)。 但若目录不存在,我想找到另一个目录名(folder2)来组合。 我该怎么说呢? 代码如下: public static string DataDirectory { get { if (string.IsNullOrEmpty(Directory)) return null; return Path.Combine(

我想请求找到要合并的目录名(folder1)。 但若目录不存在,我想找到另一个目录名(folder2)来组合。 我该怎么说呢? 代码如下:

    public static string DataDirectory
    {

        get
        {

            if (string.IsNullOrEmpty(Directory))
                return null;

            return Path.Combine(Directory, "Data/folder1");

        }

    }
谢谢。

应该可以

public static string DataDirectory
{

    get
    {

        if (string.IsNullOrEmpty(Directory))
            return null;

        // Use Path.Combine just one time 
        string firstFolder = Path.Combine(Directory, "Data/folder1"); 
        if(Directory.Exists(firstFolder)
            return Path.Combine(firstFolder);
        else
            return Path.Combine(Directory, "Data/folder2");
    }

}

您也可以这样做,首先检查是否存在任何目录,然后使用linq对目录进行排序并选择第一个元素

public static string GetDataDirectory(string root)
{
    var directoryList = Directory.GetDirectories(root);
    if (!directoryList.Any())
        return null;

    directoryList = directoryList.OrderBy(dir => dir).ToArray();
    return directoryList.First();
}    

方法。谢谢你的帮助,我真的很感激。非常感谢你的帮助。