C# string 是不可变的,指什么不可变

String  表示文本,即一系列 Unicode 字符。字符串是 Unicode 字符的有序集合,用于表示文本。String 对象是 System.Char 对象的有序集合,用于表示字符串。String 对象的值是该有序集合的内容,而且该值是不可变的。String 对象称为不可变的(只读),由于一旦建立了该对象,就不能修改该对象的值。看来彷佛修改了 String 对象的方法其实是返回一个包含修改内容的新 String 对象。StringBuilder 类 表示可变字符字符串。没法继承此类。 此类表示值为可变字符序列的相似字符串的对象。之因此说值是可变的,是由于在经过追加、移除、替换或插入字符而建立它后能够对它进行修改。大多数修改此类的实例的方法都返回对同一实例的引用。因为返回的是对实例的引用,所以能够调用该引用的方法或属性。若是想要编写将连续操做依次链接起来的单个语句,这将很方便。StringBuilder 的容量是实例在任何给定时间可存储的最大字符数,而且大于或等于实例值的字符串表示形式的长度。容量可经过 Capacity 属性或 EnsureCapacity 方法来增长或减小,但它不能小于 Length 属性的值。若是在初始化 StringBuilder 的实例时没有指定容量或最大容量,则使用特定于实现的默认值。
相关文章
相关标签/搜索