繁体   English   中英

string.IsNullOrEmpty用于组合另一个目录

[英]string.IsNullOrEmpty to combine another directory

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

    public static string DataDirectory
    {

        get
        {

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

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

        }

    }

谢谢。

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

}

你也可以这样做,先检查是否有任何目录,然后使用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();
}    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM