Я начал использовать StringBuilder
вместо прямой конкатенации, но похоже, что у него отсутствует решающий метод. Поэтому я сам реализовал это как расширение:
public void Append(this StringBuilder stringBuilder, params string[] args)
{
foreach (string arg in args)
stringBuilder.Append(arg);
}
Это превращает следующий беспорядок:
StringBuilder sb = new StringBuilder();
...
sb.Append(SettingNode);
sb.Append(KeyAttribute);
sb.Append(setting.Name);
В это:
sb.Append(SettingNode, KeyAttribute, setting.Name);
Я мог бы использовать sb.AppendFormat("{0}{1}{2}",...
, но это кажется еще менее предпочтительным и еще труднее читать. Является ли мое расширение хорошим методом или это как-то подрывает преимущества StringBuilder
? Я не пытаюсь преждевременно оптимизировать что-либо, так как мой метод больше читабельности, чем скорость, но я также хотел бы знать, что я не стреляю себе в ногу.