0

我想要求找到要合并的目录名称(folder1)。但是如果目录不存在,我想找到另一个目录名称(folder2)来组合。我应该给它什么?这里的代码:

    public static string DataDirectory
    {

        get
        {

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

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

        }

    }

谢谢。

4

2 回答 2

2

Directory.Exists应该可以正常工作

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");
    }

}
于 2013-07-19T16:20:37.867 回答
0

您也可以这样做首先检查是否有任何目录,然后使用 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();
}    
于 2013-07-19T16:34:15.373 回答