C#编程基础 笔记#7字符和字符串

1、字符类型在C#中表示为一个Unicode字符,是一个结构体(struct)
因为计算机是说英语的人发明的,所以英文在计算机中只占一个字节,但是中文或亚洲的语系不能直接在计算机上使用,因此推出了各种编码,其目的就是为了让亚洲的语言可以在计算机上使用,所以发明了双字节编码格式,这样就可以容纳全球的语系。
英文还是占一个字节,中文或其他亚洲的语言就是双字节表示,比如大家见过的乱码,其实就是因为双字节中某一个字节坏了的原因。
在C#中字符是属于值类型的,存储在栈中,字符类型是可以直接转为整数类型。
-----------------------------------------
C#中的转义字符
"\" <<---这是转义字符
可以把特殊符号(语言中已经指定使用的符号或字符转为普通字符)
也可以出现一些特殊的效果。
=========================
2、字符串
字符串是Unicode的字符的有序集合,主要用于表示文本,并且该值是不可以改变的。
字符串一旦赋值是不能更改的,但是字符串不是常量,因此编译器会在赋值时生成一个相同的字符串来接收新值并且将旧的字符串变量给删除掉。因此在外部看起来就像是赋值成功了。
常用属性:
Length属性用于获取字符串中包含字符的个数也就是字符串的长度。
通过这个属性我们可以使用循环遍历字符串中所有的字符。

常用的方法:
Trim()用于去除字符串两端的空白。不能去除字符串中间的空白

EndWith()用于从字符串尾端开始查找匹配的字符串。
IndexOf()用于搜索指定的字符串在目标字符串中首个匹配的索引值
LastIndexOf()用于从尾部开始搜索第一个匹配的字符串的索引值

Substring()用于从一段字符串中截取指定的一部分出来。
重载版本:
Substring(startIndex)
Substring(startIndex,count)

Split()用于分割字符串,通过指定的分割点字符来做为分割的依据。分割后产生一个字符串数组
string user = "张三,男,2010-10-01,189138338438,zs@sohu.com";
string[] UserInfo = user.Split(',');

Replace()用于替换指定的字符串
string str="世界你好";
string newstr = str.Replace("你好","今天你吃了吗?");

Remove()用于删除指定位置的字符串
str.Remove(2);<-----这个参数指定从字符串的第几个位置开始,将后面的全部删除
str.Remove(2,2)<-----第一个参数是开始的位置,第二个参数是删除多少个字符
=========================================================
字符串是引用类型,但是使用时一般看成值类型来用。
=========================================================
String和string本质是一样的,只不过string是String类的一个别名
===========================================================
动画:
控制台是字符界面,因此不具备复杂的绘图能力。
动画原理:
每帧一个图案,间隔一定的时间显示,然后形成动画的效果。
C#控制台中实现可以使用不间断循环语句加上线程的暂停时间达到动画的效果。
1、使用线程暂停实现
2、使用time实现
原理:通过时间的间隔触发相应的函数达到动画的效果
小提示:
方块图标表示函数
闪电图标表示事件
扳手图标表示属性
-------------------------
以上另种方法都可以实现控制台的动画,但是第一种死循环模式会照成CPU大量的占用。但是语法简单,实现容易。
第二种时间间隔模式不会照成CPU大量占用,但是逻辑比较复杂。而且必须要用全局变量,因为每次都会重新调用事件函数,函数里面的内容都会初始化。

posted @ 2020-06-11 16:43  古砂梦  阅读(70)  评论(0)    收藏  举报