Это не тот случай, который более полезен ...
A String
- это String
- один или несколько символов рядом друг с другом. Если вы хотите изменить строку в некотором роде, она просто создаст больше строк, потому что они неизменяемые .
A StringBuilder
- это класс, который создает строки. Он предоставляет средства для их построения без создания большого количества избыточных строк в памяти. Конечный результат всегда будет String
.
Не делай этого
string s = "my string";
s += " is now a little longer";
или
s = s + " is now longer again";
Это создаст 5 строк в памяти (на самом деле, см. Ниже).
Сделайте это:
StringBuilder sb = new StringBuilder();
sb.Append("my string");
sb.Append(" is now a little longer");
sb.Append(" is now longer again");
string s = sb.ToString();
Это создаст 1 строку в памяти (опять же, см. Ниже).
Вы можете сделать это:
string s = "It is now " + DateTime.Now + ".";
Это только создает 1 строку в памяти.
Как примечание, создание StringBuilder
все равно требует определенного объема памяти. Как грубое правило:
- Всегда используйте
StringBuilder
, если вы объединяете строки в цикле.
- Используйте
StringBuilder
, если вы объединяете строку более 4 раз.