[英]How can I create a C# string verbatim without carriage return
我有一个奇怪的情况。 当我像这样逐字执行字符串时:
string str = @"Hello
World"
该字符串是用“\r\n”创建的,因此它是“Hello \r\nWorld”。 我希望它只用新行创建,没有回车,所以它只是“\n”。
现在,我意识到我可以做到:
str = str.Replace("\r", "")
但是字符串是一个 const 变量,特别是因为我不想要大量的实例化和操作来提高性能(无论多么小)等
任何人都知道我怎么能做到这一点,我可以编写多行文本存储为 const 字符串,没有“\r”,仍然显示格式和易于在代码中阅读?
是您的编辑对您执行此操作,而不是 C#。
如果您在十六进制编辑器中查看您的代码,您会看到“string str = @"Hello” 行以 \r\n 结尾,而不仅仅是 \n。
在 Windows 上,默认情况下,返回是两个字符 \r\n,而不是像在 Mac 上的 \n 一样。
大多数编辑都可以选择更改此设置。 但是,最终会在您不查看时将文件切换回对您使用 \r\n 。
该语言没有提供解决此问题的干净方法。 只需使用非逐字字符串或进行替换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.