本周小结,我们总结下字符串的操作,以前没有具体解释。因为我讲解了,大家不一定能够看的懂,但是经过本周的课程学习,后面就需要大量的操作字符串,所以现在讲解正是最好的时候。
今天讲解第一部分,后续我们继续讲解,因为太多了,一节课讲不完。
字符串,顾名思义,就是将一个个的“字符”串起来,就是“字符串”了,其基本组成是字符,相当于“字符的集合”。
1.字符串的连接
界面及控件设计:
我们新建如下图所示的窗体,具体控件及其属性将会以表格的形式呈现,以后不会截图了,不会的小伙伴可以看本周一开始的课程。
控件类型,属性和事件设置如下图:
控件在主窗体上布局如下,这个没有定性要求,自己拖拉控件大小和位置,觉得美观就行。
代码编写:
事件的代码及解释如下,其中“//”及其后面的解释文字,可以不用输入程序中,我写了主要是为了解释给大家看。但是大家也一定要养成良好注释的习惯,最好有歧义的地方都加入注释,不然几周或者几个月后,你自己都不清楚当初为什么这么编程,花费大量的时间再去研究逻辑,得不偿失。
动画演示:
程序解释:
a.字符串连接符号“+”
很多人对“+”会感到有歧义,为什么“1”+“2”变成了“12”,而不是“3”?
计算机会自动识别我们定义的变量类型,然后去做相应的处理,比如如果定义两个整形变量:
int x=1;//整形赋值不能加“”,因为符号“”里面全是表示的是字符串
int y=2;
int z=x+y;//此时Z等于3,而不是“12”。
所以计算机识别此时的x值是1,而不是“1”,不加“”的1是整形,加了“”的1就是字符串。计算机底层计算时,根据x和y的值是整形还是字符串类型,执行“+”时会给出不同的结果。
b.字符串连接方式
我们可以将变量与变量连接起来,比如程序中的“str=str1+str2;”也可以变量直接连接字符串“str=str1+str2+“ new ”;”。
c.空格也是字符
需要大家注意的是空格“ ”也是一种字符,所以我们为了防止有歧义,一般都会将空格字符去掉。如果不去掉,以后做字符串对比的时候就会出问题,比如“1”和“1 ”就是两个不同的字符串,你看不到空格,认为应该是相同的啊,所以会让你找不到哪里出错了。
采用的方法就是“.Trim()”,调用这个方法就是将字符串收尾的空格去掉。所以大家养成良好的习惯,每次都加上“.Trim()”。
d.追加文本AppendText(string text)
将鼠标悬停在程序中的“AppendText”上,软件会自动显示出这个方法的解释,如下图所示:
解释“voidTextBoxBase.AppendText(stringtext)”中,void表示调用这个方法不会有返回值,TextBoxBase表示这个方法只能用于TextBox基础上,AppendText()是TextBox的一个方法,stringtext表示这个方法需要输入string字符串类型的参数。
这个方法是追加文本,意思就是说在TextBox控件的属性Text值基础上继续连接。比如程序中第一次点击“btnConStr2”,结果是“12 new ”,结尾有空格的;第二次点击后就是“12 new 12 new ”,第三次就是“12 new 12 new 12 new ”,以此类推。
也相当于tbConStr.Text+=str1+str2+“ new ”,也就是tbConStr.Text=tbConStr.Text+str1+str2+“ new ”。这个知识以前讲解过了,不清楚的看以前的课程,自己找下增加点影响。
区别于“tbConStr.Text=str1+str2;”,这句话就是每次讲tbConStr控件的Text每次刷新重新赋值,这和追加是两个概念,大家不要搞混。所以要正确区分“tbConStr.Text=str1+str2;”和“tbConStr.Text+=str1+str2;”这两个概念,以后都会用到的。
2.字符串的长度计算
界面及控件设计:
在刚才程序的主界面继续添加控件,属性及事件如下表所示。
代码编写:
动画演示:
程序解释:
a."string.IsNullOrEmpty(tbConStr.Text.Trim())"
我们看到“boolstring.IsNullOrEmpty(stringvalue)”这个方法是带有返回值的,返回值类型是bool布尔类型,输入string类型的参数,所以这个方法的意义在意判断你输入的字符串value是不是“空的”字符串,
我们右击这个方法语句,在弹出菜单中选择“转到定义(G)”。
然后双击下图所示的“...”框,看好语句,不要点错行。
然后将会展出这个方式的所有解释,我们可以看到返回结果为true,则说明value字符串是空值null,否则为false。所以不要搞混了,Is中文“是”,Null中文“空”,Or中文“或”,Empty中文“空”,连起来表示“空或者空”。Null和Empty是两种空,以后再解释,现在不求甚解。
b.“!”取反的意思,以前解释过。
c.“tbConStr.Text.Lenth”中tbConStr.Text是字符串类型,所以可以用字符串的属性“.Lenth”,并带有整形int的返回值。
d.Convert.ToString(int value)表示将整形转换成字符串型。
因为tbStrLen.Text的数据类型是string类型,数字是不能传递给它的,需要把数字转换成string类型才行。
我会坚持目前更新方式,周一到周五早上七点半左右发课程,周六休息,周日总结一周内容。
希望大家白天抽空10到30分钟看看,不一定非要一次性看完,利用零碎的时间。晚上回家,利用半小时把代码敲一遍,运行一下,有问题给我发信息或者留言。
每天把代码照着教程敲一遍,然后自己不看教程试试,运行成功的小伙伴能在留言区留言成功两字,作为你们对自己的激励。
我知道,很多刚接触编程的人,无法形成编程思维。人的大脑是需要时间去形成一块区域的,这块区域去处理编程思维。所以大家每天看课程,自己动手去编程序,不要光看不练,一定要自己去敲代码。
聚沙成塔,每天一点,水滴石穿,日积月累,必成大器!
扫码或者按住图片关注公众号
领取专属 10元无门槛券
私享最新 技术干货