2013-06-03 19 views
12

Ho un percorso e voglio aggiungervi qualche nuova sottocartella chiamata test. Per favore aiutami a scoprire come farlo. Il mio codice è:Aggiungi barra rovesciata alla stringa

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

Il risultato sto ottenendo è: "C: \ Users \ My Name \ Pictures est"

Si prega di aiutarmi a scoprire la strada giusta.

+0

\ t è una scheda o utilizzare \\ t o utilizzare il percorso + @ "\ test" – trinalbadger587

risposta

29

Non provare a creare nomi di percorso che concatenano le stringhe. Utilizzare il metodo Path.Combine

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

Il Path class contiene molti metodi statici utili per gestire le stringhe che contiene i percorsi, i nomi dei file e le estensioni. Questa classe è molto utile per evitare molti errori comuni e consente di codificare per una migliore portabilità tra sistemi operativi ("\" su win, "/" su Linux)

La classe Path è definita nel namespace System.IO.
È necessario aggiungere using System.IO; al codice

+0

D'accordo - usa il framework, ecco perché è lì. –

18

È necessario sfuggire. \t è una sequenza di escape per le schede 0x09.

path + "\\test"

o l'uso:

path + @"\test"

Meglio ancora, lasciare che Path.Combine fare il lavoro sporco per voi:

Path.Combine(path, "test");

Path risiede nel System.IO namespace.

7

ci sono due opzioni:

  1. utilizzare il simbolo @ per esempio: percorso + @ "\ test"
  2. utilizzare una doppia barra rovesciata per esempio: percorso + "\\ test"
3

Backslash '\' è un carattere di escape per le stringhe in C#. È possibile:

  • uso Path.Combine

    Path.Combine(path, "test"); 
    
  • sfuggire il carattere di escape.

    Console.WriteLine(path+"\\test"); 
    
  • utilizzare la stringa letterale letterale.

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

stringa aggiungere;

add += "\\"; //or :"\\" means backslash 
0

il backslash è un carattere di escape, in modo da utilizzare
Console.WriteLine(path+"\\test");
o
Console.WriteLine([email protected]"\test");