我希望String
中包含New Line
,但我不能使用转义序列,因为我发送字符串的接口无法识别它们。据我所知,C#实际上并没有在New Line
中存储String
,而是存储了转义序列,导致文本内容被传递,而不是它们实际意味着什么。
我最好的猜测是,我必须以某种方式将数字10(根据ASCII table的New Line
的十进制值)解析为ASCII。但是我不知道该怎么做,因为如果尝试这个,C#会直接将数字解析为String
:
"hello" + 10 + "world"
有什么建议吗?
答案 0 :(得分:5)
如果您说"hello\nworld"
,实际字符串将包含:
hello
world
字符串中会有一个实际的换行符。字符\
和n
绝不存储在字符串中。
有几种方法可以获得完全相同的结果,但字符串中的简单\n
是一种常见方式。
简单演员也应该这样做:
"hello" + (char)10 + "world"
虽然因为字符串连接可能会稍微慢一些。我说“可能”因为它可能会被优化掉,或者使用\n
的实际示例也会导致字符串连接,大致相同的时间。
答案 1 :(得分:2)
首选的新行字符是Environment.NewLine
,因为它具有跨平台功能。
答案 2 :(得分:0)
如果您的接收者可以处理此
,您可以使用xml进行通信