Дадаць зваротную касую рысу ў радок

У мяне ёсць шлях, і я хачу, каб дадаць да яго нейкую новую падтэчку з імем тэст. Калі ласка, дапамажыце мне даведацца, як зрабіць гэта. Мой код:

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

У выніку я атрымліваю: "C: \ Users \ My Name \ Pictures эст"

Калі ласка, дапамажыце мне знайсці правільны шлях.

12
\ Т ўкладка альбо выкарыстоўваць \\ т або выкарыстоўваць шлях + @ «\ тэст»
дададзена аўтар trinalbadger587, крыніца

6 адказы

Не спрабуйце будаваць файлавыя шляху канкатэнацыі радкоў. Выкарыстоўвайце Path.Combine метад

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

клас Path змяшчае шмат карысных статычныя метады для апрацоўкі радкоў, якія ўтрымліваюць шляху, імёны файлаў і пашырэнняў. Гэты клас вельмі карысна, каб пазбегнуць многіх распаўсюджаных памылак, а таксама дазваляе закадаваць для лепшай пераноснасці паміж аперацыйнымі сістэмамі ( «\» на перамогу, «/» на Linux)

Клас Path вызначаецца ў прасторы імёнаў System.IO .
Вам трэба дадаць з дапамогай System.IO; у свой код

29
дададзена
Ўзгоднена - выкарыстоўваць рамкі, таму яна ёсць.
дададзена аўтар Ryan M, крыніца

Вам трэба пазбегнуць. <�Код> \ т з'яўляецца спускавы паслядоўнасць ўкладак 0x09 .

<�Код> шлях + "\\ тэст"

або выкарыстаць:

<�Код> шлях + @ "\ тэст"

А яшчэ лепш, няхай Path.Combine рабіць брудную працу за вас:

<�Код> Path.Combine (шлях, "тэст");

Path resides in the System.IO namespace.

19
дададзена

Ёсць два варыянты:

  1. Выкарыстоўвайце сімвал @ напрыклад.: Шлях + @ "\ тэст"
  2. выкарыстоўваць двайны зваротны слэш г.д.: Шлях + "\\ тэст"
7
дададзена

радок дадаць;

add += "\\"; //or :"\\" means backslash
5
дададзена

Backslash '\' з'яўляецца маскіравалым радкоў ў C #. Ты можаш:

  • use Path.Combine

    Path.Combine(path, "test");
    
  • escape the escape character.

    Console.WriteLine(path+"\\test");
    
  • use the verbatim string literal.

    Console.WriteLine(path + @"\test");
    
3
дададзена

the backslash is an escape character, so use
Console.WriteLine(path+"\\test");
or
Console.WriteLine([email protected]"\test");

0
дададзена