string 类型作为引用类型,经常会被误认为基本数据类型,这是可笑的.
string china= " 我是大 哥哥 ";
string english = " abc ";
1,转换大小写
string bigEnglish = english.ToUpper();//大写 bigEnglish == "ABC"
string lowerEnglish = bigEnglish .ToLower();//小写 lowerEnglish=="abc"
2.去掉首尾字符 只操作字符串首部或尾部的字符
china.trim("哥哥");//china == "我是大 ";
china.trim("我是");//china == "大 哥哥 ";
china.trim();//去掉首尾空格 china =="我是大 哥哥"; 中间的空格不会去掉
string startOrEnd="我是我";
startOrEnd.trimStart("我"); // 去掉前面的我 startOrEnd=="是我";
startOrEnd.trimEnd("我");//去掉后面的我 startOrEnd=="我是"
3.是否相同 Equals();
china.Equals("我是大哥哥");//值相同 返回true
这里说下 equals和 == 的区别
==比较的是值是否相等 equals比较的是内容是否相等
听起来好像是一样的, 但是在程序中, 数据是存放在堆,栈中的
如果是一个引用数据类型的话,那么 他的名字和内存地址是放在栈中的,而具体的值却是在堆中 比如 你的身份证的地址是在你老家,但是你现在住是住在别的地方的,身份证只是你的住址,不能代表你就是住在那里的.
如果是一个基本数据类型的话, 名字+值都是放在栈中的,
equals比较的是堆内存的值 ,==比较的是栈内存的值 于对象而言 栈内存 存放name+地址 堆内存:被地址指向的值
这个可能说的不对,希望有人可以指正,,,大家一起进步
4.jion
string a = string.jion("爱",new string[]{"我","你","我","他"}); a="我爱你爱我爱他";//就是把前面的字符串放到字符串数组中间连接起来
string b = string.jion("爱",new string[]{"我","你","我","他"},0,2); b="我爱你"//后面的0,2 是指定数组范围内的可以用,不在数组范围内的就抛弃掉