`
kanwoerzi
  • 浏览: 1647148 次
文章分类
社区版块
存档分类
最新评论

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

相关推荐

    javascript StringBuilder类实现

    一个简单的StringBuilder类实现

    stringBuilder完整版.pdf

    如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder类可以提升性能。 通过用一个重载的构造函数方法初始化变量,可以...

    Java的StringBuilder类.pdf

    stringbuilder用法 Java的StringBuilder类 StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是StringBuilder对象中的内容是可变的 1. StringBuilder常用方法 StringBuilder sb =...

    StringBuilder用法

    stringbuilder用法String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 ...

    C#中StringBuilder类的使用总结

    如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。 通过用一个重载的构造函数方法初始化变量,...

    String、StringBuilder、StringBuffer 用法比较

    stringbuilder用法 String、StringBuilder、StringBuffer 用法比较String、StringBuilder、StringBuffer 用法比较String、StringBuilder、StringBuffer 用法比较String、StringBuilder、StringBuffer 用法比较String...

    深入解析StringBuffer和StringBuilder的区别

    以下是对java中StringBuffer与StringBuilder的区别进行了详细的分析介绍,需要的朋友可以参考下

    java中String与StringBuilder的区别

    本篇文章介绍了,java中String与StringBuilder的区别。需要的朋友参考下

    stringbuilder用法

    在一些编程语言中,经常会使用 StringBuilder 类或者类似的字符串缓冲区来拼接大量字符串。对于 C++ 来说,虽然没有专门的 StringBuilder 类,但我们可以通过定义一个字符串变量并利用其自身的 append() 函数来实现...

    C#中StringBuilder用法以及和String的区别分析

    当我们在初学使用C#时,常常会不知道该用StringBuilder合适还是用String高效,下面是我在学习当中对StringBuilder和String的区别总结,分享给大家。

    基于StringBuilder类中的重要方法(介绍)

    下面小编就为大家带来一篇基于StringBuilder类中的重要方法(介绍)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    .NET中StringBuilder用法实例分析

    主要介绍了.NET中StringBuilder用法,实例分析了StringBuilder在进行字符串拼接时的使用技巧,需要的朋友可以参考下

    Java那点事——StringBuffer与StringBuilder原理与区别

    本文给大家分享StringBuffer与StringBuilder的区别,它们的应用场景是什么?非常不错,面试考官经常考的一个问题,有需要的朋友跟着脚本之家小编一起学习吧

    深入理解StringBuilder的使用方法

    下面小编就为大家带来一篇深入理解StringBuilder的使用方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Java StringBuilder和StringBuffer源码分析

    主要针对Java中两个常用的操作字符串的类 StringBuilder和StringBuffer进行源码分析,感兴趣的小伙伴们可以参考一下

Global site tag (gtag.js) - Google Analytics