Низ: Разлика между версии

Изтрито е съдържание Добавено е съдържание
Djufy (беседа | приноси)
Ред 155:
 
===String Builder===
Конкатенирането на низове е много бавна операция. Това е заради факта, че всеки път трябва да се заделя нов буфер и да се презипише цялата информация в стринга наново, освен това стария буфер е неизползваем и той трябва да бъде изтрит от <code>Garbage collector</code>.
Затова се използва специално направен клас <code>StringBuilder</code>, този клас има предварително зададен буфер, който може да бъде динамично променян, благодарение на което работата със символни низове е много по-бътза. Когато сме свършили с низа можем да извикаме метода <code>ToString()</code>, който да го преобразува в нормален стринг.
 
<source lang="csharp">
int bufferSize = 300;
StringBuilder sb = new StringBuilder(bufferSize);
// Ако оставим конструктора празен, той ще задели зададената му памет по подразбиране.
 
for (int i = 0; i < 100; i++)
{
sb.Append(i); // Слепва зададената стойност с предишната.
}
 
Console.WriteLine(sb.ToString()); // Принтира на конзолата
//NOTE: Конзолата автоматично извиква метода ToString(), затова той може да бъде пропустнат.
</source>
 
<code>StringBuilder</code> притежава много разнообразни методи можете да погледнете повече за тях тук [[http://msdn.microsoft.com/en-us/library/system.text.stringbuilder.aspx]]
 
==Символни низове в Java==