龙空技术网

C# - 字符串属性与常用方法 041

源丁编程 636

前言:

而今兄弟们对“c语言char数组转换成字符串”可能比较关怀,咱们都需要了解一些“c语言char数组转换成字符串”的相关内容。那么小编也在网络上汇集了一些对于“c语言char数组转换成字符串””的相关文章,希望朋友们能喜欢,咱们快快来学习一下吧!

Length属性

可以得到字符串的长度即字符串中字符的个数,包括汉字,任何字母,数字,特殊字符

Length属性

string str1 = "字符串属性";//5Console.WriteLine(str1.Length);string str2 = "string属性";//8Console.WriteLine(str2.Length);Console.ReadKey();

以下所有操作在栈堆中的变化及其指向昨天已说过,不再一一画图解释

字符串""/Empty/null的区别

1 "" 表示有一个空的字符串,在内存堆中有引用,只是引用的是空字符串

2 Empty 内部是一个静态只读字符串的字段,其作用与""相同

1与2前者因为字符串池的特性,所以书写多个变量结果唯一都等于"",都是指向同一个堆地址

后者因为是静态只读字段,在程序中也是共享同一个内存堆地址

3 null 表示无;被声明为字符串类型的变量,属性及字段在未赋值的情况下均为null,这个null不仅仅表示为无字符,内存堆中没有引用;使用时有可能引发"未将对象引用设置到对象的实例"的异常

"",Empty与null三者间的区别

字符串常用方法

1 string.IsNullOrEmpty(要检测的字符串) 返回值布尔型

检测指定(或输入)的字符串是否为空或null,如检测输入的用户名

判断字符串是否为空或null

 string s1 = "", s2 = null; if (string.IsNullOrEmpty(s1) && string.IsNullOrEmpty(s2)) {     Console.WriteLine("s1与s2是空或者null"); } else {     Console.WriteLine("s1与s2不是空或者null"); } Console.ReadKey();//反编译IsNullOrEmpty()方法的底层实现//学习public static bool IsNullOrEmpty(string value){      if (value != null)    {             return (value.Length == 0);    }    return true;}

由上面可知判断字符串是否为空可以使用str=="";也可以使用str.Length==0(字符串长度为0就表示字符串为空)

以后判断字符串是否为空推荐使用str.Length==0,只需判断个数即可而使用str==""判断字符串是否为空则要在内存中创建新对象并开辟该对象的一块内存

2 ToUpper()/ToLower()转换字母字符串的大小写 返回值字符串型

转换字符串的大小写

string str1 = "aSdFzXcV",str2="中国",str3="123";str1 = str1.ToUpper(); str2 = str2.ToUpper(); str3 = str3.ToUpper();Console.WriteLine("转换为大写的结果str1= {0} str2= {1} str3={2}", str1,str2,str3);str1 = str1.ToLower(); str2 = str2.ToLower(); str3 = str3.ToLower();Console.WriteLine("转换为小写的结果str1= {0} str2= {1} str3={2}", str1, str2, str3);Console.ReadKey();

3 ToCharArray()将字符串转换为字符数组 返回值字符数组

转换为字符数组

string str = "abcdefgh";//字符串全部转换为字符数组的元素char[] cs1 = str.ToCharArray();//将指定位置内的字符串转换为字符数组的元素//从下标0开始截取3个字符复制到cs2中char[] cs2 = str.ToCharArray(0,3);//cs1,cs2可以使用循环遍历查看结果Console.ReadKey();

4 Equals()用于比较两个字符串 返回值布尔型

比较字符串;第二个参数用于忽略字母的大小写,因此显示相同

 string s1 = "aaa", s2 = "AAA"; //比较两个字符串是否相同 //第二个参数作用:消除大小写影响 //                         消除不同国家间字母的不同 if (s1.Equals(s2, StringComparison.OrdinalIgnoreCase)) {     Console.WriteLine("相同"); } else {     Console.WriteLine("不相同"); }//======================//底层实现就是使用了Equals()方法//自己可反编译查看if (s1==s2)

5 IndexOf()/LastIndexOf() 返回值int类型

获取指定字符串的最先与最后出现时的下标,没有返回-1;用于检测是否包含某个字符串

输出时字母数字占据一个字节,汉字占据两个字节,不影响指定字符串的下标

获取指定字符串下标

Console.WriteLine("0 12 3 4 5 6 7 8 90123 4 56789");//总个数为20,下标为0-19//可循环查看都有哪些字符string str = "以C开头的编程语言:C#C语言C++VC";Console.WriteLine(str);Console.WriteLine("");//获取指定字符串在已知字符串位置的下标(从0开始)int num1 = str.IndexOf("C");Console.WriteLine("从左至右查找C的下标为{0}",num1);//1int num2 = str.IndexOf("d");Console.WriteLine(num2);//获取指定字符串在已知字符串中最后出现位置的下标(从0开始)int num3 = str.LastIndexOf("C");Console.WriteLine("从左至右查找C最后出现时的下标为{0}", num3);//19Console.ReadKey();

6 Substring() 返回值为截取的字符串

截取字符串

string str1 = "我爱北京天安门", str2 = "北京背井背景";//从指定下标开始截取到最后//从下标4开始截取到最后str1 = str1.Substring(4);Console.WriteLine(str1);//从指定下标开始截取指定位数//从下标4开始截取2位str2 = str2.Substring(4, 2);Console.WriteLine("北京={0}", str2);Console.ReadKey();

7 Split()以指定字符/字符串分隔字符串 返回值 字符串数组

分隔字符串

 string str = "老子,孟子,孙子,墨子,韩非子"; //以逗号分隔字符串str string[] saints = str.Split(','); foreach (var item in saints) {     Console.Write("\t{0}",item); } Console.ReadKey();

8 Join()以指定字符串拼接数组元素 返回值 拼接后的字符串

拼接数组元素

string[] str1 = { "老子","孟子","孙子","墨子","韩非子" };string str2 = string.Join("&",str1);Console.WriteLine("圣贤 {0}",str2);Console.ReadKey();

9 Format()使用占位符拼接字符串 返回值 拼接后的字符串

返回占位符拼接的字符串

string str = string.Format("赞美某种技能使用{0}", 666);Console.WriteLine(str);Console.ReadKey();

10 Trim()清除字符串前后的空格 返回值清除空格后的字符串

 //不会清除字符串中间的空格 string str = "  清除 前后 空格  "; int num1 = str.Length; str = str.Trim(); int num2 = str.Length; Console.WriteLine("清除空格前的个数{0}", num1); Console.WriteLine("清除空格后的字符串  {0}", str); Console.WriteLine("清除空格后的个数{0}", num2); Console.ReadKey();

11 Replace() 使用新字符串替换旧字符串 返回值替换后的字符串

还用于提取指定字符串,替换敏感字/词等操作

替换字符串

string str = "1950年10月19日,中国人民解放军入朝作战,开始抗美援朝;1953年7月27日抗美援朝结束";//将错误描述的 中国人民解放军 替换为 中国人民志愿军//                          旧字符串                新字符串str = str.Replace("中国人民解放军", "中国人民志愿军");Console.WriteLine(str);Console.ReadKey();

12 Insert()在指定下标位置插入字符串 返回值 插入字符串后的字符串

插入字符串

string str = "abcefg";str = str.Insert(3, "d");//下标从0开始Console.WriteLine(str);Console.ReadKey();

13 Remove() 删除指定位置的字符串 返回值 删除后的字符串

删除指定字符串

string str = "中国美国俄罗斯英国法国日本";//删除指定下标以后的所有字符串str = str.Remove(11);Console.WriteLine(str);Console.ReadKey();

还有其他一些方法,不再一一举例说明;有的方法有多重载暂不多说,等说过方法之后,这些方法重载的用法不言自明

标签: #c语言char数组转换成字符串 #c语言判断字符串是否为汉字串