Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# App.config中的String.Format值正在生成一个额外的反斜杠_C#_App Config_String Formatting - Fatal编程技术网

C# App.config中的String.Format值正在生成一个额外的反斜杠

C# App.config中的String.Format值正在生成一个额外的反斜杠,c#,app-config,string-formatting,C#,App Config,String Formatting,下面是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}"/> …下面是结果字符串: P{0}\\t\"{1}, {2}\"\\t{3}\\t{4}\\t{5}\\t{6}\\t{7}\\t{8}\\t{9}\\t{10} 额外的反斜杠从何而来?\t是C#etc中制表符的

下面是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}"/>
…下面是结果字符串:

P{0}\\t\"{1}, {2}\"\\t{3}\\t{4}\\t{5}\\t{6}\\t{7}\\t{8}\\t{9}\\t{10}

额外的反斜杠从何而来?

\t是C#etc中制表符的符号,但在XML中并非如此。您的\t将被解释为两个字符。尝试将\t替换为
	在配置文件中。

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

字符串值的显示方式与在代码中将其作为字符串文字写入的方式相同,因此字符串中的每个反斜杠都显示为\


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

我看不到额外的反斜杠。NET只是根据需要转义字符。
P{0}\\t\"{1}, {2}\"\\t{3}\\t{4}\\t{5}\\t{6}\\t{7}\\t{8}\\t{9}\\t{10}