第21周 小结“字符串”详解一,把你的心我的心串一串

本周小结,我们总结下字符串的操作,以前没有具体解释。因为我讲解了,大家不一定能够看的懂,但是经过本周的课程学习,后面就需要大量的操作字符串,所以现在讲解正是最好的时候。

今天讲解第一部分,后续我们继续讲解,因为太多了,一节课讲不完。

字符串,顾名思义,就是将一个个的“字符”串起来,就是“字符串”了,其基本组成是字符,相当于“字符的集合”。

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分钟看看,不一定非要一次性看完,利用零碎的时间。晚上回家,利用半小时把代码敲一遍,运行一下,有问题给我发信息或者留言。

每天把代码照着教程敲一遍,然后自己不看教程试试,运行成功的小伙伴能在留言区留言成功两字,作为你们对自己的激励。

我知道,很多刚接触编程的人,无法形成编程思维。人的大脑是需要时间去形成一块区域的,这块区域去处理编程思维。所以大家每天看课程,自己动手去编程序,不要光看不练,一定要自己去敲代码。

聚沙成塔,每天一点,水滴石穿,日积月累,必成大器

扫码或者按住图片关注公众号

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180527G09XW900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券