C#StringBuilder:检查它是否以新行结束

Noi*_*ich 7 c# stringbuilder

我有一个StringBuilder累积代码.在某些情况下,它在代码块之间有2个空行,我想将那1个空行.
如何检查当前代码的末尾是否有空行?(ToString()由于性能问题,我不想使用它的方法.)

Kev*_*sse 7

您可以使用StringBuilder其索引访问您的任何字符String.

var sb = new StringBuilder();
sb.Append("Hello world!\n");
Console.WriteLine(sb[sb.Length - 1] == '\n'); // True
Run Code Online (Sandbox Code Playgroud)


Noi*_*ich -1

由于我不关心代码中间的2个空行,所以最简单的方法是使用

myCode.Replace(string.Format("{0}{0}", Environment.NewLine),Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)

此选项不需要对使用代码累加器的类进行任何更改。