Add backslash to string

一曲冷凌霜 提交于 2019-11-27 17:43:05

问题


I have a path and I want to add to it some new sub folder named test. Please help me find out how to do that. My code is :

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

The result I'm getting is : "c:\Users\My Name\Pictures est"

Please help me find out the right way.


回答1:


Do not try to build pathnames concatenating strings. Use the Path.Combine method

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

The Path class contains many useful static methods to handle strings that contains paths, filenames and extensions. This class is very useful to avoid many common errors and also allows to code for a better portability between operating systems ("\" on win, "/" on Linux)

The Path class is defined in the namespace System.IO.
You need to add using System.IO; to your code




回答2:


You need escape it. \t is an escape-sequence for Tabs 0x09.

path + "\\test"

or use:

path + @"\test"

Better yet, let Path.Combine do the dirty work for you:

Path.Combine(path, "test");

Path resides in the System.IO namespace.




回答3:


There are two options:

  1. Use the @ symbol e.g.: path + @"\test"
  2. use a double backslash e.g.: path + "\\test"



回答4:


string add;

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



回答5:


Backslash '\' is an escape character for strings in C#. You can:

  • use Path.Combine

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

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

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



回答6:


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



来源:https://stackoverflow.com/questions/16899522/add-backslash-to-string

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!