Используя / или \\для путей папки в C#

Сочиняя пути к файлам в C#, я нашел, что могу или написать что-то как «C:\» или «C: /» и получить тот же путь. Какой рекомендуется? Я слышал где-нибудь, что использование сингла / более рекомендовалось, чем использование \(с \как сбежавшая последовательность).

19
задан Dominic K 1 January 2010 в 19:37
поделиться

5 ответов

Windows поддерживает оба разделителя путей, поэтому оба они будут работать, по крайней мере, для локальных путей (/ не будет работать для сетевых путей). Дело в том, что на самом деле нет никакой пользы от использования рабочего, но не стандартного разделителя путей (/) в Windows, особенно потому, что вы можете использовать дословный строковый литерал:

string path = @"C:\"  //Look ma, no escape

Единственный случай, когда я могу увидеть преимущество использования разделителя /, это когда вы будете работать только с относительными путями и будете использовать код в Windows и Linux. Тогда вы можете указать "../foo/bar/baz" на ту же самую директорию. Но даже в этом случае лучше оставить пространство имен System.IO (Path.DirectorySeparatorChar, Path.Combine), чтобы позаботиться о таких проблемах.

.
29
ответ дан 30 November 2019 в 02:05
поделиться

Пожалуйста, используйте Path.DirectorySeparatorChar Или лучше, так как Пуата предложил использовать Path.Combine.

23
ответ дан 30 November 2019 в 02:05
поделиться

Используйте Path.Combine и вам не нужно беспокоиться о такой семантике.

8
ответ дан 30 November 2019 в 02:05
поделиться

Я пишу пути на C# вот так:

@"C:\My\Path"

Символ @ отключает экранирование \.

6
ответ дан 30 November 2019 в 02:05
поделиться

Это не проблема с C#, это проблема с Windows. Пути в Windows обычно показываются с обратным слешем: C:. На мой взгляд, это то, что вы должны использовать в C#. Используйте @"C:\" для предотвращения специальной обработки символов обратного слеша.

.
1
ответ дан 30 November 2019 в 02:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: