C#复习二(Twenty First Day)
呵呵,又来到了今天的总结。这次主要复习了一下字符串的一些处理。今天就来总结一下。
理论:
String 字符串,字符串可以看成字符数组,不可变特性(通过for循环,修改string中的元素,失败!)。
属性
Length 输出用户名的字符个数
方法
str.Contains() 判断字符串是否包含
String.IsNullOrEmpty() 判断用户输入的是否为空
ToCharArray() 将string转换为char[]
ToLower() 小写,必须接收返回值。(因为:字符串的不可变);
ToUpper() 大写。
Equals() 比较两个字符串是否相同。 忽略大小写的比较,StringComparation.
IndexOf() 如果没有找到对应的数据,返回-1
LastIndexOf() 如果没有找到对应的数据,返回-1
Substring() 截取字符串。
Split() 分割字符串。
Join() 分隔符
Trim() 去掉空格
Replace() 替换
Concat(); 合并字符串
ToCharArray() 字符串是不可变的。提取字符数组,反转
StartWith (a) 判断字符串是否以"a"开头
EndWith(a) 判断字符串是否以“a”结尾
注意:对字符串的操作一定要用变量接收返回值。(字符串是不能变的,每次都是构建一个新的字符串)
StringBuilder高效的字符串操作
当大量进行字符串操作的时候,比如,很多次的字符串的拼接操作。
String 对象是不可变的。 每次使用 System. String 类中的一个方法时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。 在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常大。 如果要修改字符串而不创建新的对象,则可以使用 System.Text. StringBuilder 类。 例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。
StringBuilder != String //将StringBuilder转换为String.用ToString();
StringBuilder仅仅是拼接字符串的工具,大多数情况下还需要把StringBuilder转换为String.
StringBuilder sb = new StringBuilder();
sb.Append() //追加字符串
sb.AppendLine() //追加字符串换行
sb.ToString() //把StringBuilder转换为字符串。
sb.Insert(); //插入字符串
sb.AppendFormant() //运用占位符
实操:
接收用户输入的字符串,将其中的字符以与输入相反的顺序输出。"abc"→"cba"
2012年12月21日”从日期字符串中把年月日分别取出来,打印到控制台
使用程序拼html(运用到StringBuilder)
Compare运用
昨天剩下的接口小程序写下来。
程序:鸟-麻雀sparrow鸵鸟ostrich ,企鹅penguin , 鸟能飞,鸵鸟,企鹅不能。。。
分析:这里将要用到接口来实现鸟会飞的功能。所以定义一个接口,一个Bird父类,三个子类:sparrow类(需要继承Bird类,并且使用到接口),ostrich类,penguin类。
创建接口
只有麻雀用到了接口
子类:
在Main函数里:
结果:
好了,今天就先写到这里了。明天再继续吧。加油!