如何在app.config中添加换行符?

29

我不知道怎样在app.config文件中写一个由两行或多行组成的消息。 我通常在配置文件中使用以下代码:

add key="msg_test" value="This is test message."       

而我在C#代码中这样读取它:

ConfigurationSettings.AppSettings[msg_test];

我想写类似于

add key="msg_test" 
    value="This is test message \n are you sure you want to continue?"

为什么不起作用?发生了什么?你期望什么?你是指在值字符串中放置\n吗? - default
尝试过使用 "first line" + Environment.NewLine + "second line" 吗? - Renatas M.
6
你不能在配置文件中编写C#代码。 - Guffa
@Guffa 哦,我明白了。我以为 OP 试图以编程方式添加价值。 - Renatas M.
1
如果我在值字符串中放置 \n,它会打印出 \n 而不是换行。 @Reniuz:Guffa 已经明白了我的问题。我想知道是否有一种方法可以在 app.config 中实现这一点,以便我可以将该字符串直接使用在我的 C# 代码中。 - quitprog
3个回答

43

您可以在值中使用换行符:

add key="msg_test" value="This is
test message."

您还可以使用XML编码的字符:

add key="msg_test" value="This is
test message."

(我已经测试过两种方法,它们都有效。)


1
我真的没有想到这会像第一个答案那样简单明了。 我试着使用XML编码字符,但在某个地方我发现\对应#92,n对应#110。但是它们并没有起作用。 谢谢你的回答 :) - quitprog
1
@parixit:使用 #&92;#&110; 确实可以在字符串中得到 \n,但这并不会像在一个字面字符串中那样生成一个单一控制字符,它只是两个分离的字符。 - Guffa
谢谢@Guffa,您使用XML编码( )的解决方案帮了我大忙..!! - Ron

14

换行符的 XML 转义字符是 
,因此这应该可以工作:

<add key="msg_test" 
value="This is test message &#xA; are you sure you want to continue?">

1
在Visual Studio中,在属性/设置中,对于字符串设置,点击下拉箭头,输入第一行文本,按Shift-Enter,输入第二行文本。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接