En écrivant des chemins de fichier en C #, j’ai trouvé que je pouvais é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 seul / était plus recommandé que l’utilisation de \ (avec \ comme séquence d’échappement).
Windows prend en charge les deux séparateurs de chemin, les deux fonctionneront, au moins pour les chemins locaux (/ ne fonctionnera pas pour les chemins réseau). Le fait est qu’il n’ya aucun avantage à utiliser le séparateur de chemin d’exécution (/), mais non standard, sous Windows, surtout parce que vous pouvez utiliser le littéral de chaîne textuelle:
ssortingng path = @"C:\" //Look ma, no escape
Le seul cas où je pourrais voir un avantage à utiliser le séparateur / est que vous travaillerez uniquement avec des chemins relatifs et utiliserez le code sous Windows et Linux. Ensuite, vous pouvez avoir “../foo/bar/baz” pointer vers le même répertoire. Mais même dans ce cas, il est préférable de laisser l’espace de noms System.IO ( Path.DirectorySeparatorChar , Path.Combine ) pour résoudre ces problèmes.
Veuillez utiliser Path.DirectorySeparatorChar OU mieux, comme suggéré par Poita, utiliser Path.Combine .
Utilisez Path.Combine
et vous n’avez pas besoin de vous inquiéter d’une telle sémantique.
J’écris les chemins en C # comme ceci:
@ “C: \ My \ Path”
Le caractère @ désactive \ échappant.
Ce n’est pas un problème C # – c’est un problème Windows. Les chemins dans Windows sont normalement affichés avec une barre oblique inverse: C :. À mon avis, c’est ce que vous devriez utiliser en C #. Utilisez @ “C: \” pour empêcher le traitement spécial des caractères backslash.