• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > 编程与数据库 > net编程 >

Visual Studio 2010中,StringBuilder.EnsureCapacity()规则变了吗?

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-06-27点击:

 记得以前的规则是“翻倍补余”。

当申请增加容量时,EnsureCapacity()函数不管三七二十一,先将字符串容量加倍,如果加倍后的容量大于申请容量,则加倍后的容量即为新容量;如果加倍后的容量仍小于申请容量,则申请容量为新容量。

以前:

StringBuilder buffer = new StringBuilder("Hello Kitty!"); //容量为16
buffer.EnsureCapacity(28); //请求把容量增加到28
Console.WriteLine("Length = {0}", buffer.Length);
Console.WriteLine("Capacity = {0}", buffer.Capacity);

结果为:

现在,现在同样的程序,

StringBuilder buffer = new StringBuilder("Hello Kitty!"); //容量为16
buffer.EnsureCapacity(28); //请求把容量增加到28 
Console.WriteLine("Length = {0}", buffer.Length);
Console.WriteLine("Capacity = {0}", buffer.Capacity);

结果为:

申请多少,就是多少。

规则发生变化了吗?

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ