字符串.特殊引用类型

string str="123";
//其实在内存中开辟一个空间,创建了一个String类型的对象
String str1=new String(new char[]={'1','2','3'});

1.字符串可以看做成一个string数组

char c=str[0];

2.str,length可以表示字符串的字符个数

3.字符串一旦被创建就不能被修改

     在创建字符串对象时,会先去字符串拘留池中寻找是否有相同的内容的对象,如果没有再去创建

     字符串在内存中存储在字符串拘留池中,当被重新赋值是,变量名指向新的对象,而当前对象会保留,一旦有对象存储相同内容是,将它指向旧的字符串。

4.字符串对象一旦被创建,不会被GC回收

5常用操作

string.Empty代表一个空串"",强调不是指null;
//判断指定字符串是否以指定的字符技术
bool a=str.Endwith("2");
//Equals 判断两个指定的字符串的内容是否相同

//Format格式化字符串
string s=string.Format("我爱{0},你爱{1}","",他);

 

•Length
•方法
•IsNullOrEmpty()  静态方法,判断为null或者为””
•ToCharArray() 将string转换为char[]
•ToLower()  小写,必须接收返回值。(因为:字符串的不可变);
•ToUpper()              大写
•Equals()                   。。。。
•IndexOf()               如果没有找到对应的数据,返回-1 
•LastIndexOf()  如果没有找到对应的数据,返回-1
•Substring()  //2个重载
•Split() 
•Join()  静态方法
•Format  ()  静态方法
•Replace()  Trim() 
6.字符串连接
直接连接时每次连接都会在内存中创建一个对象,连接效率底下
而在System.text空间下,的StringBulider可以很好的解决连接效率问题
StringBulider sb=new StringBuilder();
sb.append("a");
  

sb对象时可变的,当改变这个对象的字符串时不回去新开空间 而是直接改变

 

 

posted on 2014-06-20 20:16  404 NotFound!  阅读(250)  评论(0编辑  收藏  举报

导航