Получить букву диска из строки пути или FileInfo

Если проблема заключается в дополнительном времени компиляции и раздувании бинарного размера, полученном путем компиляции .h как части всех используемых им .cpp-модулей, во многих случаях то, что вы можете сделать, - это сделать класс шаблона опустившимся из не-шаблонного базовый класс для не зависящих от типа частей интерфейса, и что базовый класс может иметь свою реализацию в файле .cpp.

22
задан CodeCaster 16 June 2017 в 08:59
поделиться

3 ответа

FileInfo f = new FileInfo(path);    
string drive = Path.GetPathRoot(f.FullName);

Это возвратит "C:\". Это - действительно единственный другой путь.

48
ответ дан 29 November 2019 в 03:35
поделиться

Ничто неправильно с небольшим строковым парсингом :-)

FullPath.Substring(0,1);
1
ответ дан 29 November 2019 в 03:35
поделиться

Ну, есть еще вот это:

FileInfo file = new FileInfo(path);
DriveInfo drive = new DriveInfo(file.Directory.Root.FullName);

И эй, почему бы не метод расширения?

public static DriveInfo GetDriveInfo(this FileInfo file)
{
    return new DriveInfo(file.Directory.Root.FullName);
}

Тогда вы могли бы просто сделать:

DriveInfo drive = new FileInfo(path).GetDriveInfo();
23
ответ дан 29 November 2019 в 03:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: