前言:在前面的博文中,我写过一篇C# 字符串(String)精讲,本博文是对其的一些补充,并引出与String紧密相关的StringBuild,在后面的博文中,我会对两者的区别进行着重讲解,在此只做简单介绍。
一、关于String的理解
string
创建的字符串实际上是一个不可变的数据类型,一旦对字符串对象进行了初始化,该字符串就不能改变内容了,上面的示例中实际上是创建了一个新的字符串,把旧字符串的内容复制到新字符型中。然后把新字符串的引用赋值为字符串的对象。(重复修改给定的字符串,效率会很低)
二、关于String的更多方法
方法 | 含义 |
---|---|
CompareTo() | 比较字符串的内容。 |
Replace() | 用另一个字符或者字符串替换字符串中给定的字符或者字符串。 |
Split() | 在出现给定字符的地方,把字符串拆分成一个字符串数组。 |
SubString() | 在字符串中检索给定位置的子字符串。 |
ToLower() | 把字符串转换成小写形式。 |
ToUpper() | 把字符串转换成大写形式。 |
Trim() | 删除首尾的空白。 |
Concat() | 合并字符串。 |
CopyTo() | 把字符串中指定的字符复制到一个数组中。 |
Format() | 格式化字符串。 |
IndexOf() | 取得字符串第一次出现某个给定字符串或者字符的位置。 |
IndexOfAny() | 它可以搜索在一个字符串中,出现在一个字符数组中的任意字符第一次出现的位置。 |
Insert() | 把字符串实例插入到另一个字符串实例的指定索引处。 |
Join() | 合并字符串数组,创建一个新字符串。 |
三、对于StringBuild类的介绍
StringBuild类位于System.Text命名空间下。
- 创建StringBuild对象
// 利用构造函数创建sbu1
StringBuild sbu1 = new StringBuild("Hello");
// 初始一个空的sbu2对象,占有20个字符的大小
StringBuild sbu2 = new StringBuild(10);
// 创建字符串sbu3,并指定长度
StringBuild sbu3 = new StringBuild("Hello World",50);
- Append():给当前字符串追加一个字符。
- Insert():追加特定格式的字符串。
- Remove():从当前字符串中删除字符。
- Replace():在当前字符串中,用某个字符或者字符串全部替换另一个字符或者字符串。
- ToString():把当前StringBuild中存储的字符串,提取成一个不可变的字符串。
注意:当我们需要对一个字符串进行频繁的删除、添加操作时,使用StringBuild的效率比较高。