2

这是来自 App.Config 的行:

<add key="CheckFileFormatString" value="P{0}\t&quot;{1}, {2}&quot;\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}

额外的反斜杠从何而来?

4

2 回答 2

6

\t 是 C# 等中选项卡的符号,但在 XML 中不是这种情况。您的 \t 被解释为两个字符。&#09;尝试在您的配置文件中替换 \t 。

于 2009-08-26T14:10:32.920 回答
1

额外的反斜杠来自调试器显示值的方式。

字符串值的显示方式与您在代码中将其编写为字符串文字的方式一样,因此字符串中的每个反斜杠都显示为 \。

字符串中的反斜杠来自 XML 值,因为反斜杠不是 XML 中的转义字符。正如 Richard 解释的那样,您需要使用&#09;来获取 XML 值中的制表符。

于 2009-08-26T14:49:02.517 回答