是否可以在没有Escape序列的字符串中输入新行?

时间:2013-08-12 15:47:57

标签: c# string escaping ascii

我希望String中包含New Line,但我不能使用转义序列,因为我发送字符串的接口无法识别它们。据我所知,C#实际上并没有在New Line中存储String,而是存储了转义序列,导致文本内容被传递,而不是它们实际意味着什么。

我最好的猜测是,我必须以某种方式将数字10(根据ASCII tableNew Line的十进制值)解析为ASCII。但是我不知道该怎么做,因为如果尝试这个,C#会直接将数字解析为String

"hello" + 10 + "world"

有什么建议吗?

3 个答案:

答案 0 :(得分:5)

如果您说"hello\nworld",实际字符串将包含:

hello
world

字符串中会有一个实际的换行符。字符\n绝不存储在字符串中。

有几种方法可以获得完全相同的结果,但字符串中的简单\n是一种常见方式。

简单演员也应该这样做:

"hello" + (char)10 + "world"

虽然因为字符串连接可能会稍微慢一些。我说“可能”因为它可能会被优化掉,或者使用\n的实际示例也会导致字符串连接,大致相同的时间。

Test

答案 1 :(得分:2)

首选的新行字符是Environment.NewLine,因为它具有跨平台功能。

答案 2 :(得分:0)

如果您的接收者可以处理此

,您可以使用xml进行通信