C#字符串
C#字符串.特殊引用类型.
1. 字符串我们可以看做是1个字符数组.
2. str.Length 表示指定字符串的字符个数.
3. 字符串对象一旦创建 这个对象就不能被修改.
4. 在创建1个字符串对象的时候 会先去字符串拘留池中寻找是否有相同字符串内容的对象
如果有就直接让变量指向这个对象 如果没有再创建新的对象.
5. 字符串对象一旦创建 不会被GC回收.
构造函数只能传递字符数组.
String s = new String(new char[] { '我', '爱', '你', '们' });
string.Empty代表1个空的字符串 "" 强调不是指的null.
s = string.Empty;
bool b = (s == "");
string.Compare(s1, s2); 比较两个字符的大小.
string s1 = "b";
string s2 = "z";
int i = string.Compare(s1, s2);
string.Concat(s1, s2); 连接字符串并组成1个新串
string s3 = string.Concat(s1, s2);
Console.WriteLine(s3);
Contains方法 判断制定的串里面是否包含指定的子串.
bool b = s.Contains("我爱们");
string str = "天安门上雾霭升!"; //'!'
判断指定的字符串是否以指定的字串结尾
b = str.EndsWith("!!");
判断指定的字符串是否以指定的字串开始
b = str.StartsWith("天安");
Equals方法 判断指定的字符串的内容是不是与指定的串相同.
Format(String, Object) 格式化字符串
string str1 = string.Format("我爱{0},你爱{1}", "你", "他");
IndexOf() 查找指定的字符或者字符串在 串中的索引 如果没有返回-1
int index = str.IndexOf("门上1");
从字符串的结尾往前面查 第一次字串出现的索引
index = str.LastIndexOf('!');
string str3 = "天,安,门上;雾,霭升!"; //'!'
//在字符串的指定位置 插入字符串.
string str4 = str3.Insert(1, "我");
//判断指定的串 是不是null值或者string.Empty ""
string str5 = null;
b = string.IsNullOrEmpty(str5);
如果只传1个int类型的数 会保留前面的 删除后面的.
str5 = str3.Remove(4);
//从指定的下标删除指定的个数个字符
str5 = str3.Remove(1, 2);
//替换
str5 = str3.Replace("天安门", "广州塔");
//以指定的字符分割 字符串 返回数组.
string[] lines = str3.Split(',', ';');
lines = str3.Split(new string[] { "门上" }, StringSplitOptions.RemoveEmptyEntries);
//Substring(Int32)
str3 = "好好学习天天向上";
//切割字符串. 只传1个 就是将前面的切掉.
//2个参数的重载: 从4开始 保留3个 其他切掉.
string str10 = str3.Substring(4, 3);
// ToCharArray() 将字符串转换为字符数组.
//ToLower() 转换为小写
//ToUpper() 转换为大写
//Trim() 去掉字符串前后的空格