.NET中的类库
1、object类
所有类都继承于object类,是顶级父类,他有以下成员,都是虚方法:
a) ToString() 默认输出对象所属类的全名称(命名空间.类名)
b) Equals (Object obj) 比较的是内存地址 实质是:==
c) GetHashCode() 哈希码:用来保证同一时期生成的不同对象的哈希码,重复几率很小
2、string类
string对象可以看作是char类型的只读数组,一旦对字符串进行赋值,那么这个字符串的内容就不能再改变了。
(1)c#中的字符串长度str.lengthjJ就是字符的个数,不必算‘\0’,与c语言中不同。
(2)字符串变量,一旦创建不能修改(一旦创建,不销毁,可以二次利用)
//字符串一旦创建就不能改变
string str2 = "蒋泽明"; 0x01地址先指向蒋泽明
str2 = "杨景涛"; 0x01地址擦除,变成0x02指向杨景涛
//字符串一旦创建过,就不销毁´,可以二次利用
string str2Again = "蒋泽明"; 先在常量池寻找是否有相同的字符串,有则重新指向,没有则创建新的地址存放
这也充分体现了字符串的恒定性
3、string类的常用方法
对字符串的操作一定要用变量接受返回值,因为 字符串 不可修改!!!!!
string str = "我爱北京天安门~~天安门前暴雨升~~";
(1) 字符串长度 : str.Length;
(2)寻找子字符串的下标: int strIndex = str.IndexOf("北京");
获取最后一个字符的位置: int strIndex = str.LastIndexOf("北京");
如果字符串不存在,会返回 -1
(3) 字符串的连接:
string strA = "北京"; string strB = "天蓝";
Console.WriteLine(strA + strB); //输出:北京天蓝
注意:+ 两边只要有一个是字符串类型,另一个也会被自动转换成字符串类型
(4)EndsWith 返回值为bool类型,以某字符结束:Console.WriteLine(str.EndsWith(“~~~”));
同理还有 StartWith 方法
(5)Contains,返回值为bool类型,对象是否出现在字符串中:Console.WriteLine(str.Contains("暴"));
(6)Equals 比较是否相等
SuperMan sman = new SuperMan();
Console.WriteLine(str.Equals(sman));//此时Equals方法,会将sman强制转换成字符串,如果转换失败,则返回false
(7) Substring 从字符串中截取一个子字符串,从指定下标的字符开始到最后
string strAfterSub = str.Substring(2);
Console.WriteLine(strAfterSub);
(8) string Replace(char oldChar, char newChar)
替换;将oldChar替换成为newChar,如果oldChar不存在,返回原串
(9)大小写转换
String ToUpper() String ToLower()
(10)去除两边空格
String Trim()
(11)Spit(char[] separator, stringSplitOptions options)
将字符串按照指点的char分隔符分隔为字符串数组(options取RemoveEntries的时候移除结果中的空白字符串)
(12)字符串转型
将字符数组转成字符串
char[] arrChar = new char[] { '广', '州', '好' };
string strChar = new string(arrChar);
String strCha2r = new String(arrChar);
将字符串转成数组
char[] arrChar2 = strChar.ToCharArray();