0

我想检查特定文件夹是否存在于 c# 中的文件夹中。目前我正在使用以下代码。

        string currentPath = Directory.GetCurrentDirectory();

        foreach (string subDir in Directory.GetDirectories(currentPath))
        {
            if (subDir == currentPath + @"\Database") // if "Database" folder exists
            {
                dbinRoot = true;
            }
        }
        if (dbinRoot == true)
        {
            currentPath = currentPath + @"\Database\SMAStaff.accdb";
        }
        else
        {
            for (int i = 0; i < 2; i++)
            {
                currentPath = currentPath.Remove(currentPath.LastIndexOf("\\"));
            }
            currentPath = currentPath + "\\Database\\SMAStaff.accdb";
        }

我想知道是否有更好的方法来做到这一点???

4

3 回答 3

4

您可以使用:

Directory.Exists(currentPath + @"\Database")
于 2012-10-29T06:39:21.810 回答
1

Path.Combine使用方法连接部分路径也更可靠

if (Directory.Exists(Path.Combine(Directory.GetCurrentDirectory(), @"Database"))){}

于 2012-10-29T06:47:47.580 回答
0

您可能正在直接寻找

currentPath = Directory.GetCurrentDirectory();
bool fileExists = File.Exists(Path.Combine(currentPath, "Database\\SMAStaff.accdb")))

并且 for 循环可能包含更好的可读性

currentPath = Directory.GetParent(currentPath).FullName;
于 2012-10-29T07:01:59.157 回答