Utiliser / ou \ pour les chemins de dossiers en C#
en écrivant des chemins de fichier en C#, j'ai trouvé que je peux écrire quelque chose comme "C:" ou "C:/" et obtenir le même chemin. Lequel est recommandé? J'ai entendu quelque part que l'utilisation d'un simple / était plus recommandée que l'utilisation de (avec comme une séquence échappée).
5 réponses
Windows supporte les deux séparateurs de chemin, donc les deux fonctionneront, au moins pour les chemins locaux (/ ne fonctionnera pas pour les chemins réseau). Le problème est qu'il n'y a pas d'avantage réel à utiliser le séparateur de chemin (/) qui fonctionne mais qui n'est pas standard sur Windows, surtout parce que vous pouvez utiliser la chaîne littérale mot à mot:
string path = @"C:\" //Look ma, no escape
le seul cas où je pourrais voir un avantage d'utiliser le séparateur / est quand vous travaillerez avec des chemins relatifs seulement et utiliserez le code sous Windows et Linux. Ensuite, vous pouvez avoir." ./foo/bar/baz" pointent vers le même répertoire. Mais même dans ce cas, il est préférable de quitter le système.Io namespace (Chemin d'accès.DirectorySeparatorChar,Chemin d'accès.Combiner) pour s'occuper de ces questions.
s'il vous Plaît utiliser Chemin d'accès.DirectorySeparatorChar ou mieux, comme L'a suggéré PoitaChemin d'accès.Combiner.
Utiliser Path.Combine
et vous n'avez pas besoin de s'inquiéter d'une telle sémantique.
j'écris des chemins en C# comme ceci:
le @ character éteint \ Escape.
ce n'est pas un problème C# - c'est un problème Windows. Les chemins dans Windows sont normalement affichés avec un antislash: C:. À mon avis, c'est ce que vous devriez utiliser dans C#. Utilisez @ "C:\" pour empêcher la manipulation spéciale des caractères de backlaash.