StringBuilder

StringBuilder:

 


此类表示值为可变字符序列的类似字符串的对象。之所以说值是可变的,是因为在通过追加、移除、替换或插入字符而创建它后可以对它进行修改。有关比较,请参见 String 类。

大多数修改此类的实例的方法都返回对同一实例的引用。由于返回的是对实例的引用,因此可以调用该引用的方法或属性。如果想要编写将连续操作依次连接起来的单个语句,这将很方便。

StringBuilder 的容量是实例在任何给定时间可存储的最大字符数,并且大于或等于实例值的字符串表示形式的长度。容量可通过 Capacity 属性或 EnsureCapacity 方法来增加或减少,但它不能小于 Length 属性的值。

如果在初始化 StringBuilder 的实例时没有指定容量或最大容量,则使用特定于实现的默认值。

性能注意事项

ConcatAppendFormat 方法都将新数据串连到一个现有的 StringStringBuilder 对象。String 对象串联操作总是用现有字符串和新数据创建新的对象。StringBuilder 对象维护一个缓冲区,以便容纳新数据的串联。如果有足够的空间,新数据将被追加到缓冲区的末尾;否则,将分配一个新的、更大的缓冲区,原始缓冲区中的数据被复制到新的缓冲区,然后将新数据追加到新的缓冲区。

StringStringBuilder 对象的串联操作的性能取决于内存分配的发生频率。String 串联操作每次都分配内存,而 StringBuilder 串联操作仅当 StringBuilder 对象缓冲区太小而无法容纳新数据时才分配内存。因此,如果串联固定数量的 String 对象,则 String 类更适合串联操作。这种情况下,编译器甚至会将各个串联操作组合到一个操作中。如果串联任意数量的字符串,则 StringBuilder 对象更适合串联操作;例如,某个循环对用户输入的任意数量的字符串进行串联。

给实现者的说明 此实现的默认容量是 16,默认的最大容量是 Int32.MaxValue。 当实例值增大时,StringBuilder 可按存储字符的需要分配更多的内存,同时对容量进行相应的调整。分配的内存量是特定于实现的,而且如果所需内存量大于最大容量,会引发 ArgumentOutOfRangeException。 例如,AppendAppendFormatEnsureCapacityInsertReplace 方法能增大实例的值。 通过 Chars 属性可以访问 StringBuilder 的值中的单个字符。索引位置从零开始。

 

 

 

 

公共构造函数


 名称 说明
Public method Supported by the .NET Compact Framework StringBuilder 已重载。初始化 StringBuilder 类的新实例。
页首
 名称 说明
Public property Supported by the .NET Compact Framework Capacity 获取或设置可包含在当前实例所分配的内存中的最大字符数。
Public property Supported by the .NET Compact Framework Chars 获取或设置此实例中指定字符位置处的字符。
Public property Supported by the .NET Compact Framework Length 获取或设置当前 StringBuilder 对象的长度。
Public property MaxCapacity 获取此实例的最大容量。
页首
 名称 说明
Public method Supported by the .NET Compact Framework Append 已重载。 在此实例的结尾追加指定对象的字符串表示形式。
Public method Supported by the .NET Compact Framework AppendFormat 已重载。 向此实例追加包含零个或更多格式规范的格式化字符串。每个格式规范由相应对象参数的字符串表示形式替换。
Public method AppendLine 已重载。 将默认的行终止符(或指定字符串的副本和默认的行终止符)追加到此实例的末尾。
Public method CopyTo 将此实例的指定段中的字符复制到目标 Char 数组的指定段中。
Public method Supported by the .NET Compact Framework EnsureCapacity 确保 StringBuilder 的此实例的容量至少是指定值。
Public method Supported by the .NET Compact Framework Equals 已重载。 返回一个值,该值指示此实例是否与指定的对象相等。
Public method Supported by the .NET Compact Framework GetHashCode  用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从 Object 继承。)
Public method Supported by the .NET Compact Framework GetType  获取当前实例的 Type。 (从 Object 继承。)
Public method Supported by the .NET Compact Framework Insert 已重载。 将指定对象的字符串表示形式插入到此实例中的指定字符位置。
Public method Static Supported by the .NET Compact Framework ReferenceEquals  确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。)
Public method Supported by the .NET Compact Framework Remove 将指定范围的字符从此实例中移除。
Public method Supported by the .NET Compact Framework Replace 已重载。 将此实例中所有的指定字符或字符串替换为其他的指定字符或字符串。
Public method Supported by the .NET Compact Framework ToString 已重载。 已重写。 将 StringBuilder 的值转换为 String
页首
 名称 说明
Explicit interface implementation Method System.Runtime.Serialization.ISerializable.GetObjectData 用反序列化当前 StringBuilder 对象所需的数据填充 System.Runtime.Serialization.SerializationInfo 对象。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值