c# 02-18 值类型 引用类型 字符串的不可变性 字符串的处理方法

1值类型 直接把值存在栈中 栈的特点是后进先出 int double decimal char struct enum bool

2 引用类型 把值存在堆中,把地址存在栈中; string 自定义的类 数组

 

字符串的不可变性 : string是引用类型 会把值存在在内存的堆中 把地址存在内存的栈中,当为一个字符串重新赋值的时候,旧的值并没有被销毁,而是在内存中新开辟一个内存空间存在新值,并把栈中所对应的字符串变量的地址改变为新值所对应的地址;
当程序结束后,GC会扫描整个内存区域,如果发现有的空间没有被指向,则会被立即销毁;

1 将字符串转换为char类型的数组

string str="abcdefg";

char[] chs=str.ToCharArray();

//将char类型的数组转换为字符串

str=new string(chs);

c#中创建一个计时器 

Stopwatch sw=new Stopwatch();

sw.start();//开始计时

---执行的代码部分

sw.stop();//结束计时

console.writeLine(sw.Elapsed);//输出计时时间

1 Length 字符串中字符的个数

2 ToUpper() ToLower() 字符串转换大写或小写

3 Equals() 字符串比较 Equals(var1,StringComparison.ordinalIgnoreCse) 字符串比较的时候忽略大小写规则

4 split 分割字符串 返回的是字符串类型的数组 把字符串中不需要的一些字符去除,split 有多个重载 如果要去除空字符

string str = "abc + ,,, = & badgd @ kjohi ";
char[] chs = { ' ','+',',','@','&','='};
string[] a= str.Split(chs,StringSplitOptions.RemoveEmptyEntries);

5 判断字符串中是否有子串value Contains()

6 替换字符串内容 Replace()

7 截取字符串 Substring()

8 取子串value第一次出现的位置

9 Trim() 字符串去空格

10 TrimStart() 

11 TrimEnd()

12 StartWith() 判断字符串是否以某种内容开始

13 EndWith() 判断字符串是否以某种内容结尾

14 lastIndexOf() 判断字符串最后一次出现的问题

15 IsNullOrEmpty()

16 Join() 添加分隔符

posted @ 2017-02-18 10:50  小猫钓鱼吃鱼  阅读(228)  评论(0编辑  收藏  举报