ВУЗ:
Составители:
Рубрика:
132
Приведем код, в котором проводятся различные эксперименты с
емкостью буфера.
// Емкость буфера
int curvol1 = txtbuild.Capacity;
int curvol2 = strbuild.Capacity;
int maxvol1 = txtbuild.MaxCapacity;
int maxvol2 = strbuild.MaxCapacity;
Console.WriteLine("curvol1= {0}", curvol1);
Console.WriteLine("curvol2= {0}", curvol2);
Console.WriteLine("maxvol1= {0}", maxvol1);
Console.WriteLine("maxvol2= {0}", maxvol2);
int sure1 = txtbuild.EnsureCapacity(100);
int sure2 = strbuild.EnsureCapacity(100);
Console.WriteLine("sure1= {0}", sure1);
Console.WriteLine("sure2= {0}", sure2);
curvol2 = strbuild.Capacity;
Console.WriteLine("curvol2= {0}", curvol2);
//ошибка! попытка установить емкость меньше длины строки
//strbuild.Capacity = 25;
strbuild.Capacity = 256; //так можно!
curvol2 = strbuild.Capacity;
Console.WriteLine("curvol2= {0}", curvol2);
//увеличим строку - емкость увеличится
int len = txtbuild.Length;
txtbuild.Append(txtbuild.ToString());
curvol1 = txtbuild.Capacity;
Console.WriteLine("curvol1= {0}", curvol1);
//уменьшим строку
txtbuild.Remove(len, len);
curvol1 = txtbuild.Capacity;
Console.WriteLine("curvol1= {0}", curvol1);
В этом фрагменте кода анализируются и изменятся емкостные свойства
буфера двух объектов. Демонстрируется, как меняется емкость при увеличении
и уменьшении размера строки. Результаты работы этого фрагмента кода
показаны на рис. 32.