我正在使用System.Configuration.ConfigurationManager.AppSettings["path"]
来检索文件所在的路径," path"的值。在App.config中是C:\Temp\Config.ini
,但它返回\ duplicate C:\\Temp\\Config.ini
我认为这很容易解决,但我很难找到解决方案。
答案 0 :(得分:2)
在C#中,反斜杠字符是转义字符。该字符用于在字符串中包含特殊字符,例如换行符(\n
),制表符(\t
)。
为了在字符串中包含反斜杠,您还需要在反斜杠前面添加转义字符,这样您就需要键入\\
。如果要将值“C:\ Temp \ Config.ini”分配给变量,则需要按以下方式键入:
var path = "C:\\Temp\\Config.ini";
调试器中显示的值也显示双反斜杠,但C#将正确处理。
有关C#中转义字符的详细信息,请参阅此link。
答案 1 :(得分:1)
你怎么知道这个值有双斜线? 可能发生的事情是字符串确实有双斜线但你的观众正在逃避它。
正如@Jon Skeet在此建议的那样:Replace "\\" with "\" in a string in C#也许会尝试查看path.length并计算字符数。