Сочиняя пути к файлам в C#, я нашел, что могу или написать что-то как «C:\» или «C: /» и получить тот же путь. Какой рекомендуется? Я слышал где-нибудь, что использование сингла / более рекомендовалось, чем использование \(с \как сбежавшая последовательность).
Windows поддерживает оба разделителя путей, поэтому оба они будут работать, по крайней мере, для локальных путей (/ не будет работать для сетевых путей). Дело в том, что на самом деле нет никакой пользы от использования рабочего, но не стандартного разделителя путей (/) в Windows, особенно потому, что вы можете использовать дословный строковый литерал:
string path = @"C:\" //Look ma, no escape
Единственный случай, когда я могу увидеть преимущество использования разделителя /, это когда вы будете работать только с относительными путями и будете использовать код в Windows и Linux. Тогда вы можете указать "../foo/bar/baz" на ту же самую директорию. Но даже в этом случае лучше оставить пространство имен System.IO (Path.DirectorySeparatorChar, Path.Combine), чтобы позаботиться о таких проблемах.
.Пожалуйста, используйте Path.DirectorySeparatorChar Или лучше, так как Пуата предложил использовать Path.Combine.
Используйте Path.Combine
и вам не нужно беспокоиться о такой семантике.
Я пишу пути на C# вот так:
@"C:\My\Path"
Символ @ отключает экранирование \.
Это не проблема с C#, это проблема с Windows. Пути в Windows обычно показываются с обратным слешем: C:. На мой взгляд, это то, что вы должны использовать в C#. Используйте @"C:\" для предотвращения специальной обработки символов обратного слеша.
.