以下是App.Config中的一行:
<add key="CheckFileFormatString" value="P{0}\t"{1}, {2}"\t{3}\t{4}\t{5}\t{6}\t{7}\t{8}\t{9}\t{10}"/>
以下是将其放入字符串的代码(请忽略已弃用的.AppSettings.Get
调用,除非这是问题):
string format = ConfigurationSettings.AppSettings.Get("CheckFileFormatString");
...这里是结果字符串:
P{0}\\t\"{1}, {2}\"\\t{3}\\t{4}\\t{5}\\t{6}\\t{7}\\t{8}\\t{9}\\t{10}
来自哪里的额外反斜杠?
答案 0 :(得分:6)
\ t是C#etc中选项卡的符号,但在XML中不是这种情况。你的\ t被解释为两个字符。尝试用配置文件中的	
替换\ t。
答案 1 :(得分:1)
额外的反斜杠来自调试器显示值的方式。
字符串值的移位方式与在代码中将其写为字符串文字的方式相同,因此字符串中的每个反斜杠都显示为\。
字符串中的反斜杠来自XML值,因为反斜杠不是XML中的转义字符。正如Richard解释的那样,您需要使用	
来获取XML值中的制表符。