您身边的网站建设专家
成功案例

【建站服务】石家庄网站优化【石家庄开通400电话】石家庄网站搭建、石家庄微信公众号推文外包、石家庄开通京东拼多多设计、石家庄淘宝装修-域名申请

日期: 2022-09-20 13:30:22 浏览数:4


​

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。



石家庄网站优化【石家庄开通400电话】石家庄网站搭建、石家庄微信公众号推文外包、石家庄开通京东拼多多设计、石家庄淘宝装修


石家庄,简称“石”,旧称石门,是河北省省会,国务院批复确定的中国京津冀地区重要的中心城市之一 [1]  。截至2019年,全市下辖8个区、11个县,代管3个县级市,总面积14464平方千米(含辛集市),建成区面积338.16平方千米,常住总人口1039.42万人,城镇人口676.14万人,城镇化率65.05%。 [2] 

石家庄地处中国华北地区、河北省中南部、环渤海湾经济区,是河北省的政治、经济、科技、金融、文化和信息中心,中部战区陆军机关驻地 [3]  ,是国务院批准实行沿海开放政策和金融对外开放城市,也是全国重要的商品集散地和北方重要的大商埠 [4]  、全国性商贸会展中心城市之一 [4]  、中国国际数字经济博览会永久举办地 [5]  、中国(河北)自由贸易试验区组成部分。 [6] 

石家庄于民国十四年(1925年)建市,时名“石家市”,1947年更名为石家庄市。1968年河北省会迁至石家庄市。京广、石太、石德、朔黄四条铁路干线交汇于此,是中国铁路运输的主要枢纽之一,被誉为“南北通衢,燕晋咽喉”。 [7-8]  石家庄是国家首批科技创新示范城市、国家半导体照明产业化基地、国家卫星导航产业基地、国家动漫产业发展基地、国家生物医药产业基地。 [7]  [9] 

石家庄是全国文明城市、国家森林城市、中国优秀旅游城市,旅游资源丰富,名胜古迹众多,有全国重点文物保护单位40处、国家历史文化名城1座。西柏坡是国家5A级景区,被称为“晋察冀边区的乌克兰”,是解放战争时期中国革命的领导中心。2019年,当选“中国十大夜经济影响力城市”。 [10-15]  2021年3月,被评为国家卫生城市。

foreach中的所有块都将对列表中的每一项执行同样的操作,其中的占位符变量(例子中的phoneNumber)始终保存的是当前正被处理的项。如果列表中有三项,则foreach中包含的块将被执行三次,这些块可以说是从属于foreach块,或处于foreach块的内部,这些内部块执行到最后一行时,我们所说的程序计数器将要循环回第一行。

循环过程详细分析

我们来详细地分析一下foreach块的运行机制,因为理解循环是编程的基础。当点击TextGroupButton时,触发事件处理程序,首先执行的是“set Texting1.Message to”块,要将短信内容设置为“想你...”,这个块只执行一次。

然后开始执行foreach块。在foreach内部块开始执行前,占位符变量item被设置为列表phoneNumberList的第一项(111-1111),这一步是自动完成的,代替了你自己使用select list item来调出列表项。在完成将列表中的第一项赋给item之后,foreach内部的块开始第一次运行,Texting1.PhoneNumber属性被设为item的值(111-1111),并发出短信。

当运行到foreach中的最后一行时(Texting1.SendMessage块),程序将循环会到foreach的首行,并自动将列表中的下一项(222-2222)设为变量item的值,然后重复操作foreach内部的两个块,即发送短信“想你...”到号码222-2222。然后程序再次循环会首行,并将item的值设为列表中的第三项(333-3333),并执行第三次重复操作,第三次发送短信。

由于列表中最后一项,即本例子中的第三项已经被处理完毕,因此foreach循环到此结束,程序将跳出循环,这意味着程序计数器将继续下移来处理foreach下面的块。在本例中,foreach之后没有块,因此整个事件处理程序结束。

书写可维护的代码

在最终用户看来,使用foreach的方法还是“强力”的拷贝粘贴法,在最终结果上并无分别,但从程序员的角度来看,foreach方法让代码有更好的可维护性,即使数据(电话号码列表)是动态输入的,程序也可以适用。

可维护软件指的是可以很容易地对软件进行修改,而不会引入程序的漏洞。使用foreach方法,一旦需要修改短信接收人,只需要修改列表变量,而丝毫不需要修改程序的逻辑(事件处理程序)。相反,采用强力的方法,如果需要添加新的接收人,则需要在事件处理程序中添加新的块。任何时候,只要你改动了程序的逻辑,都会冒带来漏洞的风险。

更重要的是,即便电话列表是动态的,即,不仅是程序员,最终用户也可以向列表中添加新的号码,foreach方法也能奏效。在我们的例子中只有三个固定的号码,而且号码直接写在了代码中,与此相比,采用动态数据的应用,其信息来源可能是最终用户,或其他来源。如果你要重新设计应用,让最终用户来输入电话号码,你就必须使用foreach方法,因为在你写程序的时候,根本无法知道会有哪些号码,因此也就无从采用强力的拷贝粘贴法。

foreach的第二个例子:显示列表

显示列表项最简单的方式就是将列表变量插入Label的Text属性,如图20-4所示。

{%}

图 20-4 列表的简单显示方法:将列表直接插入label

这样做的结果是,列表项在label中显示为一行,项之间以空格分隔,整个列表被一对括号包围:(111-1111 222-2222 333-3333)。

这些号码可能显示为多行或单行,取决于号码的多少。最终用户能看到这个数据,也可能将它们当做电话号码的列表,但这样的显示方式很不美观。通常会将列表项分行显示或用逗号分隔。

为了适当地显示列表,需要将每个列表项转换为一段带格式的单独的文本。文本对象通常有字母、数字、标点符号组成,但也可能包含特殊的控制字符,它们对应一些不可见的字符,如tab被表示为 (更多关于控制字符的内容,请查阅文本表示的统一码[Unicode]标准:http://www.unicode.org/standard/standard.html)。

为了逐行显示我们的电话号码列表,需要一个换行符“ ”。当“ ”出现在一段文本中,意味着“到下一行来显示后面的东西”。因此文本对象“111-1111 222-2222 333-3333”将显示为:

111-1111
222-2222
333-3333

要构造出这样的文本对象,需要用到foreach块,将每个列表项附加换行符后再添加到PhoneNumberLabel.Text属性中,如图20-5所示。

{%}

图 20-5 使用foreach处理列表:在每个列表项后添加换行符

我们来跟踪一下这些块的作用。在第15章中讨论过在程序运行过程中跟踪变量及属性变化的相关内容,在foreach块中,我们考虑每一次迭代之后的值,所谓一次迭代,就是foreach循环执行一次。

在foreach之前,PhoneNumberLabel的Text属性被初始化为空文本;从foreach开始,程序会自动将列表的第一项赋给占位符变量phoneNumber。然后将PhoneNumberLabel.Text、 、phoneNumber连接起来之后,再将其设为PnoneNumberLabel.Text的属性值。这样,在完成foreach的第一次迭代后,相关的变量值如表20-1所示。

表20-1 第一次foreach迭代之后的变量值

phoneNumber

PhoneNumberLabel.Text

111-1111

111-1111

此时已经是foreach内的最后一行,程序进入第二次迭代,下一个列表项(222-2222)被设为占位符变量phoneNumber的值,并重复执行foreach内部的块:将PhoneNumberLabel.Text的原值( 111-1111)与“ ”及phoneNumber(此时是222-2222)连接起来。第二次迭代后,变量及属性值如表20-2所示。

表20-2 第二次foreach迭代之后的变量值

phoneNumber

PhoneNumberLabel.Text

222-2222

111-1111 222-2222

列表中的第三项被设为phoneNumber的值,第三次重复运行foreach内部的块,在完成最后一次迭代后,最终结果如表20-3所示。

表20-3 第三次foreach迭代之后的变量值

phoneNumber

PhoneNumberLabel.Text

333-3333

111-1111 222-2222 333-3333

三次迭代完成之后,label包含了所有的电话号码,文本变得很长,在foreach执行完成后,PhoneNumberLabel.Text的显示如下:

111-1111
222-2222
333-3333


石家庄网站优化【石家庄开通400电话】石家庄网站搭建、石家庄微信公众号推文外包、石家庄开通京东拼多多设计、石家庄淘宝装修



上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设:上往建站