首页 > 代码库 > 第六章 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类型