StringBuilder 的容量(StringBuilder Capacity)

来源:互联网 发布:床垫怎么选 知乎 编辑:程序博客网 时间:2024/05/16 06:40

在使用StringBuilder 实例的时候,你不需要关心它为其存储的字符串分配了多大的内存,它会自动为字符串创建足够的内存。

Capacity 属性表明了一个StringBuilder 实例最多可以存储多少个字符,当存储的字符所需的空间大于这个数的时候,StringBuilder 会自动增大内存,增加Capacity

StringBuilder 实例的Length 属性则表示当前存储的字符串的长度。

默认情况下,Capacity 属性初始值为16,当需要更多空间的是它就会翻倍。

StringBuilder sb1 = new StringBuilder();    // Len=0, Cap=16sb1.Append("1234567890123456");             // 字符串长度=16, 容量=16sb1.Append("z");                            // 字符串长度=17, 容量=32sb1.Append("1234567890123456");             // 字符串长度=33, 容量=64

你也可以在构造StringBuilder 实例的时候指定初始容量:

StringBuilder sb2 = new StringBuilder(100);

原文地址:https://csharp.2000things.com/2010/08/27/71-stringbuilder-capacity/


0 0