К моему удивлению, этот код не дает ожидаемых результатов:
var basePath = @"\\server\BaseFolder";
var relativePath = @"\My\Relative\Folder";
var combinedPath = Path.Combine(basePath, relativePath);
Результат \My\Relative\Folder
вместо ожидаемого \\server\BaseFolder\My\Relative\Folder
.
Почему это так?Каков наилучший способ объединения относительных путей, которые могут иметь или не иметь косую черту в них?
РЕДАКТИРОВАТЬ: Я знаю, что я могу просто выполнять строковые манипуляции на lativePath для обнаружения и удаления начального слеша.Есть ли более безопасный способ сделать это (я думал, что Path.Combine
должен был быть безопасным способом), который будет учитывать обратную и прямую дроби?