Когда Path.Combine не работает

Метод Path.Combine, предназначенный для облегчения жизни разработчика, в действительности, содержит подводный камень, не позволяющий его использовать так бездумно, как хотелось бы.  Нелогичность (логичность от Microsoft) замечена не только мною и заключается в том, что если второй путь является абсолютным, то возвращается только второй путь.

Например:

Path.Combine("dir1", @"dir2");

В Microsoft серьезно думают, что разработчик ожидает  получить dir2. Логичной  была  бы  проверка настоящего абсолютного пути(c именем диска c:dir2) , а не просто наличие слеша(Path.DirectorySeparatorChar) в начале.

Следующий вызов Path.Combine возвращает полную бессмыслицу «dir1.dir2»

String path = Path.Combine("dir1", @".dir2");

Мораль проста — помнить об этой особенности и писать свой костыльный Path.Combine.

Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *