我正在使用字符串构建器作为日志记录过程的一部分。我使用的分隔符是“”。如何以比“”更有效的方式输出此char。
例如:
sb.Append(" ");
或者这是可以接受的方式吗?
提前致谢
答案 0 :(得分:7)
如果您担心每次都会创建一个新的字符串对象,请不要担心。编译器将对其进行优化,以便在每次调用时使用相同的字符串对象。
答案 1 :(得分:6)
如果是单个字符,最好使用sb.Append(' ');
答案 2 :(得分:3)
您可能认为string.Empty
有""
之类的替代方案。但是没有这样的事情,所以使用" "
是可以的。
答案 3 :(得分:2)
这很好。
但是,您可能希望稍微提高抽象级别:
public static StringBuilder AppendWithSeparator(this StringBuilder sb, string value)
{
sb.Append(value);
sb.Append(" ");
return sb;
}
答案 4 :(得分:2)
在某处定义const char seperator = ' '
可能会更好。然后使用sb.Append(seperator)
如果稍后您决定使用(例如)逗号分隔,这将使代码更易于维护。