.Net:有没有更好的等价替代品来表示空格字符?

4
我作为日志记录过程的一部分正在使用字符串构建器。 我正在使用的分隔符字符是“”。如何以比简单的“”更有效的方式输出此字符。
例如:
sb.Append(" ");

这是可行的方法吗?谢谢提前。
5个回答

7
如果你担心每次都会创建一个新的字符串对象,那就不用担心了。编译器会优化它,使其在每次调用时使用相同的字符串对象。

6

如果只是单个字符,最好使用sb.Append(' ');


1
为什么这样更好?请参考Mark Byers关于编译器优化的回答。 - Rob Cowell
6
这与编译器优化无关。Append(char) 重载不必检查空参数或参数长度(始终为1)。 - Sam Harwell

3

您可能认为string.Empty""的替代选项。但实际上并没有这样的东西,因此使用" "也可以。


2

这是完全可以的。

不过,你可能想将抽象级别提高一些:

public static StringBuilder AppendWithSeparator(this StringBuilder sb, string value)
{
    sb.Append(value);
    sb.Append(" ");

    return sb;
}

2

你最好在某个地方定义一个const char seperator = ' '。然后使用sb.Append(seperator)

如果以后决定使用逗号分隔符,这将使代码更易于维护。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接