Как я могу получить полный путь к данному пути (может быть каталог или файл, или даже полный путь) с помощью С#?
Самое близкое, что я получаю, это использовать new FileInfo(path).FullPath, но насколько я знаю, FileInfo предназначен только для файлов, а не для каталога.
Однако пути могут также содержать что-то, что может напоминать расширение, поэтому вы можете использовать его в сочетании с некоторыми другими проверками, например. bool isFile = File.Exists(path);
Используйте класс DirectoryInfo, который расширяет FileSystemInfo и даст правильный результат для файлов или каталогов.
string path = @"c:\somefileOrDirectory";
var directoryInfo = new DirectoryInfo(path);
var fullPath = directoryInfo.FullName;
Ответ 8
Согласно msdn, FileSystemInfo.FullName получает полный путь к каталогу или файлу и можно применить до FileInfo.
FileInfo fi1 = new FileInfo(@"C:\someFile.txt");
Debug.WriteLine(fi1.FullName); // Will produce C:\someFile.txt
FileInfo fi2 = new FileInfo(@"C:\SomeDirectory\");
Debug.WriteLine(fi2.FullName); // Will produce C:\SomeDirectory\