С# Как узнать, является ли данный путь корневым диском? Как узнать, является ли данный каталог корневым диском? (кроме проверки, если его путь равен "A:", "B:", "C:" и т.д.) Ответ 1 Проверьте, имеет ли каталог Directory.Parent значение null или нет DirectoryInfo d = new DirectoryInfo(""); if(d.Parent == null) { IsRoot = true; } вы также можете получить корень с помощью DirectoryInfo.Root; Ответ 2 Это намного сложнее, чем проверка свойства Parent. Определение того, является ли каталог прикрепленной папкой Один из подходов - проверить, успешно ли GetVolumeNameForVolumeMountPoint. Конечно, это не будет работать для сетевого пути, и определить, может ли сетевой диск представлять корневую директорию раздела, возможно, не удастся удаленно. Ответ 3 Попробуйте this: if (Path.GetPathRoot(location) == location) {...} Ответ 4 Также здесь был найден другой способ: public static bool IsLogicalDrive(string path) { return (new DirectoryInfo(path).FullName == new DirectoryInfo(path).Root.FullName; } если эта функция возвращает true, значит, данный путь представляет собой корневой диск! Ответ 5 Здесь я нашел другой способ: public static bool IsLogicalDrive(string path) { return Directory.GetLogicalDrives().Contains(path); } Это фактически проверяет, является ли данный путь одним из текущих системных логических дисков.
Ответ 1 Проверьте, имеет ли каталог Directory.Parent значение null или нет DirectoryInfo d = new DirectoryInfo(""); if(d.Parent == null) { IsRoot = true; } вы также можете получить корень с помощью DirectoryInfo.Root;
Ответ 2 Это намного сложнее, чем проверка свойства Parent. Определение того, является ли каталог прикрепленной папкой Один из подходов - проверить, успешно ли GetVolumeNameForVolumeMountPoint. Конечно, это не будет работать для сетевого пути, и определить, может ли сетевой диск представлять корневую директорию раздела, возможно, не удастся удаленно.
Ответ 4 Также здесь был найден другой способ: public static bool IsLogicalDrive(string path) { return (new DirectoryInfo(path).FullName == new DirectoryInfo(path).Root.FullName; } если эта функция возвращает true, значит, данный путь представляет собой корневой диск!
Ответ 5 Здесь я нашел другой способ: public static bool IsLogicalDrive(string path) { return Directory.GetLogicalDrives().Contains(path); } Это фактически проверяет, является ли данный путь одним из текущих системных логических дисков.