字符串
1..字符串的不可变性
当你给字符串重新赋值时,它不会像变量那样新值代替原值,而是重新开辟一块空间存储新值。
注意:当程序结束时,GC会扫描整个内存,当发现这个新值无人指向时,就会把它清除掉。
2.字符串的方法
- string可以看成char类型的只读数组:
可以通过数组形式来取出其中的个别char元素,但是却不能对指定位置进行修改,因为字符串是不可变性的,所以我们可以通过运用ToCharArray( )的方法将字符串转化成字符数组,然后对其中的值就行修改,然后再调用new string(char[] 数组名)这个构造函数将改过后的字符数组转化成对应的字符串,这样就不会影响到字符串的不可变性。
string s = "abcdef";
Console.WriteLine(s[0]);//输出a
//将字符串转化为字符数组
char[] str = s.ToCharArray();
//对字符数组进行修改
str[0] = 'A';
//将修改过后的字符数组转化成字符串
s = new string(str);
length | 用来获取字符串的字符数 |
ToUpper() | 将字符串转换成大写形式 |
ToLower() | 将字符串转换成小写形式 |
Split() | 用于分割字符串 |
Equals() | 用于比较字符串是否相同 |
Substring(开始截取的位置,长度) | 截取字符串,在截取的时候包含要截取的那个位置 |
IndexOf(所找的字符串,从那开始找的) | 判断某个字符串在字符串中第一次出现的位置,如果没有返回-1 |
LastIndexOf() | 判断某个字符在字符串中最后一次出现的位置,如果没有返回-1 |
StartsWith() | 判断以...开始 |
EndWith() | 判断以...结束 |
Contains() | 判断某个字符串是否包含指定的字符串 |
Replace(旧值,新值) | 将字符串中某个字符串替换成一个新的字符串 |
Trim() | 去掉字符串前后的空格 |
TrimEnd() | 去掉字符串中结尾的空格 |
TrimStart() | 去掉字符串中开头的空格 |
string.IsNullOrEmpty() | 判断一个字符串是否为空或者为null |
string.Join() | 将数组按照指定的字符串连接,返回一个字符串 |
//length用法
String s = "advdvs";
Console.WriteLLine(s.length);//输出6
//ToUpper的用法
string s = "dac";
s = s.ToUpper();
Console.WriteLine(s);//输出DAC
//ToLower的用法
string s = "ABV";
s = s.ToLower();
Console.WriteLine(s);//输出abv;
//Split的用法
String s = "ad fa,f_r we==++";
char[] chs = {' ',',','=','+','_'};//所输入的字符
//将字符串去除指定的字符后重新组合的字符串,StringSplitOptions.RemoveEmptyEnteies是去除字符串数组中的空值。
string[] str = s.Split(chs,StringSplitOptions.RemoveEmptyEnteies);
Console.WriteLine(str);//输出ad,fa,f,r,we
//Equals的用法
string s = "C#";
string x = "c#";
if(s.Equals(x,StringComparison.OrdinalIgnoreCase))//这串字符用于比较字符串,忽略大小写
{
Console.WirteLine("两位同学选的课程一样");
}
//Repleace()用法
string str = "我可真帅";
str = str.Replace("帅","衰");//Replace("旧值","新值")
Console.WriteLine(str);//输出我可真衰
//Substring()用法
string str = "今天天气好好哎!";
str = str.Substring(1);
Console.WriteLine(str);//输出:天天气好好哎!
//StartsWith()的用法
string str = "今天天气好好哎!";
if(str.StartsWith("今天"))
{
Console.WriteLine("是的");
}
else
{
Console.WriteLine("不是");
}//输出:是的
//EndsWith()的用法
string str = "今天天气好好哎!";
if(str.EndsWith("!"))
{
Console.WriteLine("是的");
}
else
{
Console.WriteLine("不是");
}//输出:是的
//IndexOf()的用法
string str = "今天天气好好哎!";//从0开始
int index = str.IndexOf("天");
Console.WriteLine(index);//输出:1
//LastIndexOf()的用法
string str = "今天天气好好哎!";
int index = str.LastIndexOf("天");
Console.WriteLine(index);//输出:2
//Trim()的用法
string str = " hahhha ";
str = str.Trim();
Console.WriteLine(str);//输出:hahhha
//IsNullOrEmpty()的用法
string str = "";
if(string.IsNullOrEmpty(str));
{
Console.WriteLine("是的");
}
else
{
Console.WriteLine("不是");
}//输出:是的