Utilisation de / ou \\ pour les chemins de dossier en C #

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.