首页 > 代码库 > 字符串 2014年6月7日12:51:07
字符串 2014年6月7日12:51:07
1、单个字符也可以表示为字符串,还可以有长度为0的字符串(就是"",空字符串)。null和""的区别,String.IsNullOrEmpty
1 string s = " ";//" "不是empty 2 3 //s == "" 相等于 s == string.Empty 4 if (string.IsNullOrEmpty(s))//等价于s == null || s == "" 5 { 6 Console.WriteLine("空"); 7 }
2、C#中字符串有一个重要的特性:不可变性,字符串一旦声明就不再可以改变。
所以只能通过索引来读取指定位置的char,不能对指定位置的char进行修改。
3、如果要对char进行修改,那么就必须创建一个新的字符串,用s. ToCharArray()方法得到字符串的char数组,对数组进行修改后,调用new string(char[])这个构造函数(暂时不用细研究)来创建char数组的字符串。
一旦新的字符串被创建,那么char数组的修改也不会造成原来的字符串的变化。例子:将字符串中的A替换为a。
1 string s1 = "A123456"; 2 char[] chars = s1.ToCharArray();//是根据s1复制一份char[] 3 4 chars[0] = ‘a‘;//不会影响s1 5 string s2 = new string(chars);//根据chars产生一份新的string 6 7 Console.WriteLine(s2);//输出a123456 8 Console.WriteLine(s1);//输出A123456 9 10 chars[0] = ‘c‘;//并不会影响s2 11 Console.WriteLine(s2);//输出a123456
4、练习题:C#时间格式转换汉字大写 比如: "2009年9月5日" 转换成 "二零零九年九月五日",输入字符串,返回字符串。写成一个函数。string ToCH(string s)
1 string[] c = new string[]{ "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖","年","月","日" }; 2 3 try 4 { 5 string input = "2009年9月5日"; 6 StringBuilder str = new StringBuilder(); 7 for (int count = 0; count < input.Length; count++) 8 { 9 string temp = input.Substring(count,1);//截取字串的一部分,参数1为左起始位数,参数2为截取几位 10 switch (temp) 11 { 12 case "1": str.Append(c[1]); break; 13 case "2": str.Append(c[2]); break; 14 case "3": str.Append(c[3]); break; 15 case "4": str.Append(c[4]); break; 16 case "5": str.Append(c[5]); break; 17 case "6": str.Append(c[6]); break; 18 case "7": str.Append(c[7]); break; 19 case "8": str.Append(c[8]); break; 20 case "9": str.Append(c[9]); break; 21 case "0": str.Append(c[0]); break; 22 case "年": str.Append(c[10]); break; 23 case "月": str.Append(c[11]); break; 24 case "日": str.Append(c[12]); break; 25 default: break; 26 } 27 } 28 Console.WriteLine(str.ToString()); 29 } 30 catch (Exception ex) 31 { 32 throw new Exception("已经过测试"); 33 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。