一尘不染

如何在字符串中写反斜杠(\)?

c#

我想写这样的事情C:\Users\UserName\Documents\Taskstextbox

txtPath.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)+"\Tasks";

我得到错误:

无法识别的转义序列。

如何在字符串中写反斜杠?


阅读 1559

收藏
2020-05-19

共1个答案

一尘不染

反斜杠("\")字符是特殊的转义字符,用于指示其他特殊字符,例如换行(\n),制表符(\t)或引号(\")。

如果要本身包含反斜杠字符,则需要两个反斜杠或使用@逐字字符串:

var s = "\\Tasks";
// or 
var s = @"\Tasks";

阅读MSDN文档/ C#规范,其中讨论了使用反斜杠字符和逐字字符串文字的使用来转义的字符。

一般而言
,大多数C#.NET开发人员@在构建文件/文件夹路径时都倾向于使用逐字字符串,因为它使他们不必一直写双反斜杠,并且他们可以直接复制/粘贴路径,因此,我建议您养成做同样的习惯。


综上所述,在这种情况下,我实际上建议您使用@lordkain回答中Path.Combine实用程序方法,因为那样您就不必担心路径中是否已经包含反斜杠并意外地将斜杠加倍或省略了它们。合并部分路径时。

2020-05-19