首页 > 代码库 > 第六章 String类型

第六章 String类型

1 构造String类型

string str1=new string(c,3); //str1="ccc"char[] chs=new char[]{c,a,t,o,o,n};string str2=new string(chs);//str2="catoon";string str3=new string(chs,0,3);//str3="cat";

2 String类的字段、属性和索引函数

--String类只有一个静态的公有字段Empty,它表示一个空字符串。下面的布尔表达式值为true:

string.Empty==""

--String类只有一个公有属性Length,用来获取字符串的长度,而它的索引函数则用于获取它指定位置的字符。

--String属于引用类型,空字符串和空引用null是不同的。对空字符串,Length=0;而对值为null的字符串调用Length则会引发异常。

3 字符操作和子串操作

3.1 字符操作

ToCharArray方法

string str="Microsoft";char[] chs1=str.ToCharArray();char[] chs2=str.ToCharArray(5,4);Console.WriteLine(new string(chs1));//MicrosoftConsole.WriteLine(new string(chs2));//soft

CopyTo方法

CopyTo方法的第一个和最后一个参数的含义与ToCharArray方法中的参数相同,第二个参数表示得到的字符数组,而第三个参数指定要拷贝到字数组中的起始位置。

char[] chs=new char[20];"Microsoft".CopyTo(0,chs,0,9);"WindowsXP".CopyTo(0,chs,10,7);Console.WriteLine(new string(chs));//输出Microsoft windows

IndexOf和LastIndexOf方法

查找某个字符第一次和最后一次出现的位置。

3.2 字符串操作

IndexOf和LastIndexOf方法,功能同上类似

Substring方法,截取字串

Insert方法,插入字串

Remove方法,删除字串

StartsWith和EndsWith方法,子串的开始和结束部分是否与指定的字串相等

Contains方法,字串是否作为了串出现在另一个字符中。

4 字串的比较与连接

== Equal(实例方法)

Compare CompareTo(实例方法)

+ Concat

5、字符串的格式化

5.1 字符替换

ToLower() ToUpper()

Replace()

5.2 字符填充

PadLeft PadRight

5.3 字符修剪

Trim()

Trim(char[])

5.4 参数格式化

Format,与Console.WriteLine极为相似

5.5 解析字符串

C#语言中,所有类型的基类Object都定义了一个ToString(),用于返回一个描述对象的字符串,默认情况下返回是字符串是类型的完整名称。

很多类型重载了该方法,各种数值类型的ToString返回的是值

与ToString方法的过程相反的,从一个字符串构造其它类型的对象的过程,叫解析字符串。

--方法名称为Parse

--方法为静态方法,返回类型就是定义该方法的类型

--方法只有一个类型为String的参数

int.Parse("123");bool.Parse("True");DateTime.Parse("2014-11-28");

有时使用Parse,字符串不符合类型的格式要求,一些类型还提供了TryParse

TryParse有两个参数,第一个为要解析的字符串,第二为为输出参数

int i;int.TryParse("3.14",out i);//false

6 StringBuilder类

6.1 为什么要引入StringBuilder

String类中提供的绝大多数方法都不是对字符串本身的操作,而是生成新字符串,在内存中留下多个字符串的拷贝,因此对于很长的字符串,或者对于频繁操作的字符串,往往极占用系统资源。因为String对象在本质上是一个常量,创建了之后就不能修改(所以String类的Length属性和索引函数都是不可设置的)。

6.2 构造StringBuilder对象

public StringBuilder()public StringBuilder(int)public StringBuilder(int,int)public StringBuilder(string)public StringBuilder(string,int)public StringBuilder(string,int,int,int)

 

第六章 String类型