System.Configuration.ConfigurationManager.AppSettings重复\

时间:2015-11-25 08:58:55

标签: c# .net visual-studio-2010

我正在使用System.Configuration.ConfigurationManager.AppSettings["path"]来检索文件所在的路径," path"的值。在App.config中是C:\Temp\Config.ini,但它返回\ duplicate C:\\Temp\\Config.ini

我认为这很容易解决,但我很难找到解决方案。

2 个答案:

答案 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并计算字符数。