字符串的不可变性:字符串是一个常量。
字符串拘留池机制:当一个字符串已经被创建,那么以后每次创建相同值的字符串时会直接引用它的地址值,无需为自己的值开辟新的内存空间。
字符串的静态方法
字符串比较:
Compare()方法用于比较两个字符串是否相等,该方法有两个string类型参数,用于接收进行对比的字符串。如果第一个字符串大于第二个字符串,则返回一个1;如果两个字符串相同,则返回0;若第一个字符串小于第二个字符串,则返回一个-1。。
Console.WriteLine(string.Compare("abcd", "abc"));
上述语句返回1,因为前三个元素相等,第一个字符串长于第二个。
格式化字符串:
Format()方法
string str = string.Format("姓名:{0},年龄:{1}", "小明", 10);
判断字符串是不是一个空字符串:
IsNullOrEmpty()方法
bool ret = string.IsNullOrEmpty("1");
字符串拼接
Join()方法的作用是使用指定的字符或字符串,将字符串数组中的元素连接起来。
string ret = string.Join("_", "王垚", "亚东", "志帆");
Console.WriteLine(ret);
字符串的实例方法
Contains()方法用于判断一个字符串中是否包含指定字符串
Console.WriteLine("abcdefgh".Contains("def"));
EndsWith()方法的作用是判断当前字符串是否以指定字符串结尾
string str = "C#编程之道";
bool ret = str.EndsWith("之道");
StartsWith()方法的作用是判断当前字符串是否以指定字符串开头
bool ret = str.StartsWith("之道");
IndexOf()方法用于返回指定字符或字符串在字符串中的索引,在查找过程中,从字符串左边开始查找,如果找到第一个,便返回对应的索引且方法结束,否则返回-1。
(1)找出第一个字所在的索引
index = str.IndexOf("编程");
(2)找出索引为2开始共两个元素,两个元素都存在则输出第一个字符的索引,否则-1;
index = str.IndexOf("编程",2,2);
LastIndexOf用来从尾部向首部找到所找元素的下标
int index = str1.LastIndexOf(".");
Split()方法专门用来分隔字符串。例如有一个字符串“I have a dream”,要想统计该字符串中单词的个数,可以使用 Split()方法将字符串以空格分隔成字符串数组。
str ="I have a dream";
string[] strArr = str.Split(new char[] { ' '},StringSplitOptions.RemoveEmptyEntries);
StringSplitOptions 用来省略返回值中的空字符串
Substring()方法的作用是对字符串进行截取,例如要获取文件的后缀名,可以使用Substring()方法。
从索引5开始找到所有的元素
string num = "222023333";
string retStr = no.Substring(5);
从索引为0的位置开始截取5个长度的字符座位字符串返回
retStr = no.Substring(0,5);
ToCharArray()方法将一个字符数组转化成字符串
char[] chArr = str.ToCharArray();
string str1 = new string(chArr);
ToUpper()方法的作用是将字符串中所有的英文字母都变成大写的
str = str.ToUpper();
ToLower()方法的作用是将字符串中所有的英文字母都变成小写的
str = str.ToLower();
Trim()方法的作用是去除字符串两端的空格,例如在检测用户输入信息时,如果用户不小心在结束的位置输入了一个空格,那么将无法获得准确数据。因此,需要使用 Trim()方法将字符串两端的空格去掉。
str = " 张 三 ";
剔除字符串前缀空格和后缀空格
str = str.Trim();
剔除前缀空格
str = str.TrimStart();
剔除后缀空格
str = str.TrimEnd();
剔除其他符号
str = "*******张 ** 三*******";
str = str.Trim('*');
Replace用来指定字符替换旧的字符
str =str.Replace("TMD","**");
StringComparison用来指定某些区域、大小写或排序规则
StringComparison.OrdinalIgnoreCase使用序号排序规则并忽略字符串的大小写,对字符串进行比较
("c#",StringComparison.OrdinalIgnoreCase);
Encoding.ASCII.GetBytes(str);用来将字符串转化为ASCII码
string retStr = Encoding.ASCII.GetString(byteArr);用来将ASCII码转化为字符串