System.io.DirectorySeparatorChar возвращает символ "\", в то время как System.io.AltDirectorySeparatorChar возвращает "/"
, чтобы более конкретно определить, какова задача System.Io.AltDirectorySeparatorChar и когда мы ее используем?
Из документации (https://docs.microsoft.com/en-us/dotnet/api/system.io.path.altdirectoryseparatorchar)
Предоставляет альтернативный символ для платформы, используемый для разделения уровней каталогов в строке пути, которая отражает иерархическую организацию файловой системы.
Вы можете использовать alt separator в ваших строках пути так же, как вы используете обычный разделитель, например:
static void Main(string[] args) { string[] pathStrings = { @"C:\dir\subdir\file.txt", "C:/dir/subdir/file.txt", "/dir/subdir/file.txt" }; foreach (var p in pathStrings) { var dir = Path.GetDirectoryName(p); var file = Path.GetFileName(p); Console.WriteLine($"{dir} {file}"); } }
И вывод:
C:\dir\subdir file.txt C:\dir\subdir file.txt \dir\subdir file.txt