StringBuilder 类:表示可变字符字符串。 此类不能被继承。
语法:[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class StringBuilder : ISerializable;
String 类:表示文本,即一系列 Unicode 字符。
语法:[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class String : IComparable,
ICloneable, IConvertible, IComparable<string>, IEnumerable<char>,
IEnumerable, IEquatable<string>;
虽然 StringBuilder 和 String 两个表示字符序列,它们以不同的方式实现。 String 是不可变的类型。 即看似修改 String 对象的每个操作实际创建新的字符串。
在这些条件下考虑使用 StringBuilder 选件类:
1、当您希望您的应用程序创建一个未知的设置为字符串的更改在设计时 (例如,那么,当您使用循环连接包含用户输入) 的随机数字符串。
2、当您希望您的应用程序创建一个大量为字符串的更改。
在这些条件下考虑使用 String 选件类:
1、当您的应用程序将对字符串更改的数量很小。 在这些情况下,StringBuilder 不可能提供在 String的忽略或性能改进。
2、当执行串联运算的内置的数字,尤其是对于字符串文本。 在这种情况下,编译器可能将串联运算到单个操作。
3、当您必须执行广泛的搜索操作,当您生成字符串时。 StringBuilder 选件类没有搜索方法 (如 IndexOf 或 StartsWith。 您必须转换为 String 的 StringBuilder 对象这些操作的,这样,可以对从使用 StringBuilder的性能。
|