如何在不返回回车的情况下逐字逐句地创建C#字符串



我遇到了一个奇怪的情况。当我逐字逐句地做一个字符串时,如下所示:

string str = @"Hello 
World"

字符串是用"\r\n"创建的,因此它是"Hello\r\nWorld"。我希望它只创建新行,没有回车,这样它就只有"\n"。

现在,我意识到我可以做到:

str = str.Replace("r", "")

但是字符串是一个常量变量,特别是因为我不想为了性能(无论多小(等而进行大量的实例化和操作

有人知道我是如何做到这一点的吗?这样,我就可以写一个多行的文本,存储为一个不带"\r"的常量字符串,它仍然是格式化的,在代码中很容易阅读?

这是你的编辑器对你做的,而不是C#。

如果您在十六进制编辑器中查看代码,您会看到行"string str=@"Hello"以\r\n结尾,而不仅仅是\n。

在Windows上,默认情况下,返回是两个字符\r\n,而不是像Mac上那样只有一个字符。

大多数编辑都可以选择更改此项。但是,当您不注意的时候,最终会有一些东西将文件切换回\r\n在您身上使用。

语言并没有提供一个干净的方法来解决这个问题。只需使用非逐字逐句的字符串或进行替换即可。

相关内容

  • 没有找到相关文章

最新更新