web-dev-qa-db-fra.com

Ajouter une barre oblique inversée à la chaîne

J'ai un chemin et je veux y ajouter un nouveau sous-dossier nommé test . S'il vous plaît, aidez-moi à découvrir comment faire cela . Mon code est le suivant:

string path = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
 Console.WriteLine(path+"\test");

Le résultat obtenu est le suivant: "c:\Utilisateurs\Mon nom\Images est"

S'il vous plaît aidez-moi à trouver la bonne façon.

13
misha312

N'essayez pas de construire des chemins d'accès concaténant des chaînes. Utilisez la méthode Path.Combine

string path = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
Console.WriteLine(Path.Combine(path, "test"));

La classe Path contient de nombreuses méthodes statiques utiles pour gérer les chaînes contenant des chemins, des noms de fichiers et des extensions. Cette classe est très utile pour éviter de nombreuses erreurs courantes et permet également de coder pour une meilleure portabilité entre les systèmes d'exploitation ("\" sur Win, "/" sur Linux)

La classe Path est définie dans l'espace de noms System.IO.
Vous devez ajouter using System.IO; à votre code

30
Steve

Vous devez y échapper. \t est une séquence d'échappement pour les onglets 0x09.

path + "\\test"

ou utiliser:

path + @"\test"

Mieux encore, laissez Path.Combine faire le sale boulot pour vous:

Path.Combine(path, "test");

Path réside dans l'espace de noms System.IO.

20
Moo-Juice

Il y a deux options:

  1. Utilisez le symbole @, par exemple: chemin + @ "\ test"
  2. utilisez une double barre oblique inversée, par exemple: chemin + "\\ test"
7
Greg Dietsche

string add;

add += "\\"; //or :"\\" means backslash
6
trinalbadger587

La barre oblique inverse '\' est un caractère d'échappement pour les chaînes en C #. Vous pouvez:

  • utiliser Path.Combine

    Path.Combine(path, "test");
    
  • échapper au personnage d'échappement.

    Console.WriteLine(path+"\\test");
    
  • utilisez le littéral de chaîne mot à mot.

    Console.WriteLine(path + @"\test");
    
3
tafa