无私分享(C#高级编程第6版doc):第08章 字符串和正则表达式

合集下载

无私奉献心得体会模板(3篇)

无私奉献心得体会模板(3篇)

无私奉献心得体会模板无私奉献是一种伟大的品质,它指的是为他人或社会利益而努力,不求回报的精神。

在我自己的成长过程中,我也有幸能够参与一些无私奉献的活动,并从中得到了很多启发和体会。

下面我将结合我的经历,分享一下关于无私奉献的心得体会。

首先,无私奉献让我明白了人与人之间的互助与关爱的重要性。

在我参与一个社区服务活动的过程中,我看到了很多人对帮助他人的热情和积极性。

有的人义务参与活动,有的人捐赠物品,有的人提供专业知识和技能。

这让我意识到,每个人都有自己的力量,可以在自己的领域内做出贡献。

而当大家的力量汇集在一起时,就能够创造出更大的力量,给予更多人帮助和支持。

通过与志同道合的人一起工作,我感受到了团队的力量和社会的温暖。

其次,无私奉献让我认识到了付出的价值。

无私奉献并不意味着抛弃自己的利益和需求,而是通过付出来获得更大的回报。

在一次志愿者活动中,我担任了一个小组的负责人,负责协调和安排团队成员的任务。

在这个过程中,我学到了很多领导和组织的能力,并获得了与他人合作的经验。

虽然付出了很多时间和精力,但这些收获远远超出了我的预期。

通过无私奉献,我不仅为他人提供了帮助,同时也在自我实现和成长的道路上迈出了一大步。

再次,无私奉献让我明白了尊重和理解的重要性。

当我们为他人付出时,我们需要尊重和理解他们的需要和诉求。

在我参与一次农村支教活动时,我发现农村的孩子们和城市的孩子们有很大的差异。

因此,我的教学方法也需要进行调整,以符合他们的特点和需求。

通过与他们的互动和交流,我了解到他们的生活环境和学习背景,从而能够更好地满足他们的需求。

这让我明白,无私奉献不是一味地给予,而是理解和尊重他人的差异,才能真正帮助到他们。

最后,无私奉献让我体会到了乐于奉献的喜悦。

当我们为他人付出时,我们会感受到内心的满足和快乐。

在我参与一次义工活动时,我和一群孤寡老人一起度过了一个下午。

我们一起聊天、玩游戏,老人们笑得很开心。

看到他们享受生活的愉悦,我也感到了无比的幸福和满足。

表现无私奉献的诗句

表现无私奉献的诗句

表现无私奉献的诗句表现无私奉献的诗句在平平淡淡的日常中,大家都对那些朗朗上口的诗句很是熟悉吧,诗句一般饱含丰富的想象、联想和幻想。

那么问题来了,到底什么样的诗句才经典呢?以下是小编精心整理的表现无私奉献的诗句,欢迎大家分享。

表现无私奉献的`诗句1不论平地与山尖,无限风光尽被占。

不要人夸好颜色,只留清气满乾坤。

采得百花成蜜后,为谁辛苦为谁甜?春蚕到死丝方尽,蜡炬成灰泪始干。

横眉冷对千夫指,俯首甘为孺子牛。

僵卧孤村不自哀,尚思为国戍轮台。

鞠躬尽瘁,死而后已。

零落成泥碾作尘,只有香如故。

落红不是无情物,化作春泥更护花。

捧着一颗心来,不带半棵草去。

随风潜入夜,润物细无声。

虚怀千秋功过,笑傲严冬霜雪。

一生宁静淡泊,一世高风亮节。

遥知不是雪,为有暗香来。

咬定青山不放松,立根原在破岩中;千磨万击还坚劲,任尔东西南北风。

一节复一节,千枝攒万叶。

我自不开花,免撩蜂与蝶。

欲为圣明除弊事,肯将衰朽惜残年。

表现无私奉献的诗句21,慈爱善举知青人,无私奉献来济贫。

只因心系黑土地,念念不忘老乡亲。

2,知青情义全捎到,众人拾柴火焰高。

爱心传递永不断,滴水之恩涌泉报。

3,捐衣献物图感恩,人间有爱寸草心。

切身体验当年苦,村姑与我一家亲。

4,花落山乡鹜远人,凤栖梧桐傲祥云。

当年知青根扎下,战天斗地献忠魂。

5,人间最美四月天,春风送暖百花开。

蝶飞蜂舞芳菲斗,姹紫嫣红忆当年。

6,五体女神度经年,姐妹情深赛凤鸾。

诗友群里尝试笔,慧一佳作气不凡。

7,谁说女子不如男,才思敏捷半边天。

传友清俊和福友,赋诗作文令人赞。

8,你们仨人顶半天,群主夸奖怎敢担。

挥毫泼墨常动脑,怕得老年傻痴呆。

9,虚心有怀才不衰,勤勉好学永登攀。

文君蔡琰李清照,斑昭婉儿咏絮才。

10,丹东知青能量强,捐赠衣物到蒙乡。

心系天下做贡献,情满中华放光芒。

11,留下秋韵海之情,伴君潇洒游兴城。

把酒詹菊赏美景,诗友牵挂心意浓。

12,流连忘返不回城,依依不舍枫叶红。

响水寺外美如画,深秋游玩好心情。

无私奉献作文800字(通用8篇)

无私奉献作文800字(通用8篇)

无私奉献作文800字(通用8篇)无私奉献作文800字(通用8篇)在平时的学习、工作或生活中,大家对作文都不陌生吧,作文是通过文字来表达一个主题意义的记叙方法。

你知道作文怎样才能写的好吗?下面是小编整理的无私奉献作文800字(通用8篇),仅供参考,希望能够帮助到大家。

无私奉献作文800字1世界因为有爱才变得美丽,也因为有爱才变得温暖。

正如一句歌词“只要人人都献出一点爱,世界将变成美好的人间。

”所以,爱在生活里必不可少的。

善良的本质是奉献,奉献果实,奉献爱心。

每当你奉献了爱心,你一定会非常自豪,非常欣慰,因为我帮助了别人,我为社会增添了一份光彩。

对此,我深有体会。

12月28日中午,妈妈让我去她单位上。

我当时还以为妈妈是让我见哪个明星呢?可是,刚到现场我便被震惊了——那是一个大型的慈善活动,一位五岁的小男孩睿杰得了万分之一的人得的很罕见的病,需要九十万元的医疗费用。

小睿杰的父母都是工人,奶奶在家不工作,家庭不富裕,所以这九十万元对小睿杰一家来说简直是比登天还难。

我看见许多人都将自己的爱心捐献出去,小孩、大人……于是,我心里也痒痒,迫不及待地将手伸到口袋里掏了掏,掏出了二十元。

这时,妈妈从她店里出来了,她看了看我手中的二十元,知道了我的心思,然后,她也拿出了五十元准备给我,我并没有收,而是对妈妈说:“妈妈,我自己有钱,我希望用自己的力量,帮助小睿杰。

所以,您还是拿回去吧!”妈妈笑了笑,然后陪我一起去了。

我拿出自己的二十元钱,交给了小睿杰的奶奶:“奶奶,别伤心了,一切都会好的,都会好的!”奶奶听完,抓住我的手说:“嗯,好孩子,谢谢你,谢谢你为我们家小睿杰做的事,我谢谢你,谢谢,谢谢!”不知为什么,心里像被震了一下,突然愣住了,不知道说什么好,眼眶里全是泪水,心里有说不出的感动。

我眨了眨眼睛,泪水从眼眶里流了出来。

这时,小睿杰的奶奶用手将我的眼泪擦干了,接着,泪水一滴接着一滴流了出来,我快控制不住了。

那时,我真想躲到一个角落里,闷头哭。

无私奉献作文(10篇)精选

无私奉献作文(10篇)精选

无私奉献作文(10篇)读了巴金爷爷写的信后,我沉思了很久。

同样的都是人,为什么我还没能明白生命的意义?为什么我还示能让自己的生命开花结果?我终于寻思出了答案,那就是我没有努力过,没去尝试过。

巴金爷爷说:“我终于明白生命的意义在于奉献而不在于享受。

〞我可以体会到巴金爷爷为了明白这句话付出了多少的努力,在这背后又有多少心酸。

他写的文章里,简直就把自己写进去了,他谈论自己的亲历的事,和我们一起分享着巴金爷爷的亲身事迹。

我敬佩他,喜欢他,他为我们伟大的祖国作出了多少奉献。

他对我们的祖国有无限的爱,他为我们做出了一个好典范。

我一定要为我们的班级、社会、祖国争光,让我们的老师、父母永远以我为傲。

我以前总是把那些名人看的是多么!可是他们就算在再高的地位上,也还是比不过巴金爷爷,因为他从来示炫耀自己,也不在乎自己是不是什么杰出人物,他只是把对祖国的感情用作品来。

在我眼晨,巴金爷爷就是一位“杰出人物〞,和巴金爷爷一样,我说的“杰出〞并不是他有才华,而是他明白生命的意义,明白怎样使生命开花结果!如果是我们,我们能知道吗?在现实生活中,我们只能在家里做小皇帝,小公主,让家人伺候我们,我们有没有对自己生活的几年的家做一点奉献呢?没有,我们是在享受。

我们只能坐在教室做作业,做好作业就出去玩,谁能知道在这同年风风雨雨的日子里,是谁最后一个离开教室呢?是老师。

就算我们主动扫一下地,让老师歇一会儿,也好!可是,我们做了吗?当我们在快乐的玩耍时,谁又能想到已经疲惫不堪的老师呢?又是谁能留意老师的头上又多了几根银发呢?没有,我们只会给老师添麻烦,让本来事情就多的老师添加了一些烦恼。

难道,我们就不会觉得愧对于父母,愧对于老师吗?让我们向巴金爷爷看齐,让我们付出一点努力,多做一些事情,为我们的家,我们的班级和社会做出一点奉献!俗话说“人心齐,泰山移〞,在许多时候,一个人的力量往往是微缺乏道的,但当所有人都一起努力的时候,其产生的力量将是令人震撼的。

精选无私的奉献作文300字七篇

精选无私的奉献作文300字七篇

无私的奉献作文300字精选无私的奉献作文300字七篇无论是在学校还是在社会中,大家都尝试过写作文吧,作文是通过文字来表达一个主题意义的记叙方法。

一篇什么样的作文才能称之为优秀作文呢?以下是小编整理的无私的奉献作文300字7篇,仅供参考,希望能够帮助到大家。

无私的奉献作文300字篇1暑假期间,我发烧了,到医院看病。

正好让我看到了一位白衣天使背后的辛酸!那天,我看完病,妈妈去了取药。

我无聊极了,心里又感觉怪怪的,就到处走走,在护士休息室,透过门缝,我看到了这令人惊讶的一幕!一直以为,护士的工作很轻松,只是捡捡药,帮病人打打针而已!没想到,原来护士背后是这般的心酸,隔着玻璃窗,空荡荡的护士休息室,只留下一个年轻的护士姐姐坐在椅子上拿着一个热乎乎,新鲜的饭盒,狼吞哭咽地吃着!虽然医院有空调,但护士姐姐却满头大汗!才没吃几口饭,“铃、铃、铃……”,电话响了,只见她打开电话,说了几句,便匆匆忙忙,神色慌张地穿上护士服,向急诊科跑去,本已满头大汗的人,在经过激烈短跑,汗就像瀑布一样,我跟着她,才知道,她连饭也不吃的原因是接到电话要去帮忙做手术,她真是一个尽职尽责的“天使”,当时我心想!她正要进手术室,一位有份参与救援工作的医生拦着她,打量她一眼,说:“你休息一下吧!”“天使”坚决地说:“不,救人要紧!”那一刻,我震惊了:那一天,我知道了,什么是真正的无私奉献,护士对病人就像父母对孩子一样!无私的奉献作文300字篇2训练要求仔细观察图画,注意图上都画了些什么。

再联系自己的生活实际,想想图上的小女孩在做什么,她为什么这样做,然后写一篇作文,把你看到的和想到的写下来,作文题目自己定。

写以前可先列个提纲。

同学相互说说,提出修改意见。

写出的作文要做到符合图画的意思,内容具体,语句通顺,有一定的条理。

如果你有更喜欢的图画,也可以写你从那张图画上看到的和想到的,把你喜欢的图画介绍给大家。

训练指导重点指导:看图作文首先要通过细致的观察弄清图意。

有关于无私奉献的名人名言(作文素材)

有关于无私奉献的名人名言(作文素材)

有关于无私奉献的名人名言(作文素材)
1、捧着一颗心来,不带半根草去。

——陶行知
2、人的一生,贡献所作所为的意义和价值,比人们的预料更多地取决于心灵的生活。

——马丹·杜·加尔
3、人并非为获取而给予;给予本身即是无与伦比的欢乐。

——弗罗姆
4、燃烧自己!这样,即使你化为灰烬,人们也会从火光中找到你。

——佚名
5、青山埋白骨,绿水吊忠魂。

——朱德
6、人生的价值,即以其人对于当代所做的工作为尺度。

——徐玮
7、男人敞开心扉就像女人羞答答地奉献出她们那防范森严的肉体一样。

安德烈火莫洛亚
8、你若要为你的意义而欢喜,就必须给这个世界以意义。

——歌德
9、我们的报酬取决于我们所做出的贡献。

——韦特莱
10、年轻时,我的生命有如一朵花——当春天的轻风来到她的门前乞求时,从她的丰盛中飘落一两片花瓣,她你从未感到这是损失。

现在,韶华已逝,我的生命有如一个果子,已经没有什么东西可以分让,只等待着将她和丰满甜美的全部负担一起奉献出发。

——泰戈尔
11、我们的生命是天赋的,我们惟有献出生命,才能得到生命。

——泰戈尔
更多热门文章:
1.无私奉献的名人故事(汇总)
2.无私奉献的名人故事(选登)
3.与奉献有关的名人故事:两弹元勋邓稼先
4.无私奉献的名人事例【作文素材】
5.关于奉献的事例【名人】
6.【作文素材】无私奉献名人名言
7.精选关于关于奉献的名人名言
8.奉献的名人事例
9.与奉献有关的优秀名人名言【素材屋】。

形容无私分享的古语

形容无私分享的古语

形容无私分享的古语
无私分享是一种美德,它体现了人们的宽容与慷慨,代表了对别人的关怀和帮助。

古语中有许多形容无私分享的雅言,下面列举几个相关参考内容。

1. “以人为本”:这是一句古语,表达了将他人的利益放在首位
的理念。

无私分享的出发点就是关注他人的需求和利益,将自己的资源、知识、经验等无私地分享给他人。

2. “以德报德”:这句古语强调了要以善良的行为回报别人的善意。

无私分享的本质就是帮助他人,关心他人的幸福和利益,而不求回报。

这句古语提醒人们,无论别人是否回报自己,我们都应该坚持无私分享的原则。

3. “己所不欲,勿施于人”:这是一句反义句,表达了对他人的善待。

无私分享就是将我们希望别人对待我们的方式,以同样的关心和帮助回馈给他人。

这句古语指导我们在与他人交往中保持平等和互助的原则。

4. “仁者乐山,智者乐水”:这句古语体现了善良和聪明的人对于他人和大众的关怀。

无私分享不仅仅是对个人的帮助,也是对社会的积极贡献。

这句古语鼓励人们通过无私的分享来帮助更多的人,为社会的进步和幸福做出贡献。

5. “众人拾柴火焰高”:这句古语强调了合作和分享的力量。

无私分享不仅仅是个人的行为,更是一种合作和共同进步的方式。

只有在大家共同分享、合作的基础上,才能取得更大的成果和
进步。

以上是几个形容无私分享的古语参考内容,它们体现了人与人之间互助、关心和帮助的理念。

无私分享不仅是一种善良和美德,也是推动社会进步和幸福的力量。

通过无私的分享,我们能够建立更加和谐、友善的社会,让每个人都能够分享到幸福和成长。

无私奉献的名言语句80句

无私奉献的名言语句80句

无私奉献的名言语句80句1. 爱是一种无私的奉献,它能让我们心怀感恩,乐于助人。

2. 善良之举的背后往往是一种无私奉献,帮助他人是我们存在的意义。

3. 在生活中,无私奉献的行动可以点燃无尽的希望,让世界变得更美好。

4. 无私奉献是一种真正的人生境界,它能让我们感受到无尽的快乐与满足。

5. 无私奉献不仅是对他人的关怀,更是对自己灵魂的滋养和升华。

6. 拥有一颗无私奉献的心,我们将拥有一个充实而有意义的人生。

7. 每一个无私奉献的行为都是一盏明灯,照亮他人前进的路途。

8. 做一个无私奉献的人,我们将成为他人的守护神,为他们带去快乐与安慰。

9. 无私奉献是一种美德,它在我们的言行中流露出来,为他人带去温暖。

10. 真正的无私奉献是心灵的力量展现,它超越了物质的束缚,感动了世界。

11. 无私奉献是爱的最高形式,它能让我们超越自我,寻找内心的平衡与安宁。

12. 真正的无私奉献是一颗默默付出的心,它从不求回报,只为别人的幸福而存在。

13. 无私奉献是一株生生不息的种子,它在我们的行为中扎根生长,开出美丽的花朵。

14. 只有拥有一颗无私奉献的心,我们才能真正体验到生活的美丽与意义。

15. 无私奉献是一种奇妙的力量,在细微处展现,让人们感受到生活的温暖与真诚。

16. 拥有一颗无私奉献的心,我们将拥有一种无尽的力量,为他人带来希望与改变。

17. 无私奉献是一种发自内心的善行,它让我们更加关注他人的需要,体验到人间真情。

18. 真正的无私奉献是无需夸耀的,它默默无闻地改变着他人的生活,点亮他们的灯塔。

19. 无私奉献是一种无形的财富,它在我们的行为中累积,最终化作生命的永恒。

20. 做一份无私奉献的事,不为名与利,只为让他人的生命充满喜悦与感恩。

21. 无私奉献是一种忠诚,它深深地植根于我们的内心,成为我们生命的一部分。

22. 无私奉献是爱与关怀的表达,它帮助我们接近他人,倾听他们的声音与需求。

23. 无私奉献是一种高尚的品质,它让我们成为温润而坚强的人,给世界带去光明。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录第8章字符串和正则表达式 (2)8.1 System.String类 (2)8.1.1 创建字符串 (3)8.1.2 StringBuilder成员 (5)8.1.3 格式化字符串 (6)8.2 正则表达式 (11)8.2.1 正则表达式概述 (11)8.2.2 RegularExpressionsPlayaround示例 (11)8.2.3 显示结果 (14)8.2.4 匹配、组合和捕获 (15)8.3 小结 (16)第8章字符串和正则表达式在本书的第一部分,我们一直在使用字符串,并说明C#中string关键字的映射实际上指向.NET 基类System.String。

System.String是一个功能非常强大且用途非常广泛的基类,但它不是.NET中唯一与字符串相关的类。

本章首先复习一下System.String的特性,再介绍如何使用其他的.NET类来处理字符串,特别是System.Text 和System.Text.Regular Expressions命名空间中的类。

本章主要介绍下述内容:●创建字符串:如果多次修改一个字符串,例如,在显示字符串或将其传递给其他方法或应用程序前,创建一个较长的字符串,String类就会变得效率低下。

对于这种情况,应使用另一个类System.Text.StringBuilder,因为它是专门为这种情况设计的。

●格式化表达式:这些表达式将用于后面几章中的Console.WriteLine()方法。

格式化表达式使用两个有效的接口IFormatProvider和IFormattable来处理。

在自己的类上执行这两个接口,就可以定义自己的格式化序列,这样,Console.WriteLine()和类似的类就可以以指定的方式显示类的值。

●正则表达式:.NET还提供了一些非常复杂的类来识别字符串,或从长字符串中提取满足某些复杂条件的子字符串。

例如,找出字符串中重复出现的某个字符或一组字符,或者找出以s开头、且至少包含一个n的所有单词,或者找出遵循雇员ID或社会安全号码约定的字符串。

虽然可以使用String 类,编写方法来执行这类处理,但这类方法编写起来比较繁琐,而使用System.Text.RegularExpressions 命名空间中的类就比较简单,System.Text. RegularExpressions专门用于执行这类处理。

8.1 System.String类在介绍其他字符串类之前,先快速复习一下String类上一些可用的方法。

System.String是一个类,专门用于存储字符串,允许对字符串进行许多操作。

由于这种数据类型非常重要,C#提供了它自己的关键字和相关的语法,以便于使用这个类来处理字符串。

使用运算符重载可以连接字符串:C#这个类可以完成许多常见的任务,例如替换字符、删除空白和把字母变成大写形式等。

可用的方法如表8-1所示。

注意:这个表并不完整,但可以让您明白字符串所提供的功能。

8.1.1 创建字符串如上所述,string类是一个功能非常强大的类,它执行许多很有用的方法。

但是,string类存在一个问题:重复修改给定的字符串,效率会很低,它实际上是一个不可变的数据类型,一旦对字符串对象进行了初始化,该字符串对象就不能改变了。

表面上修改字符串内容的方法和运算符实际上是创建guys at Wrox Press. "。

注意句号后面有一个空格。

此时.NET 运行库会为该字符串分配足够的内存来保存这个文本(39个字符),再设置变量greetingText,表示这个字符串实例。

从语法上看,下一行代码是把更多的文本添加到字符串中。

实际上并非如此,而是创建一个新字符串实例,给它分配足够的内存,以保存合并起来的文本(共103个字符)。

最初的文本"Hello from all the people at Wrox Press."复制到这个新字符串中,再加上额外的文本"We do hope you enjoy this book as much as we enjoyed writing it."。

然后更新存储在变量greetingText中的地址,使变量正确地指向新的字符串对象。

旧的字符串对象被撤销了引用-- 不再有变量引用它,下一次垃圾收集器清理应用程序中所有未使用的对象时,就会删除它。

这本身还不坏,但假定要对这个字符串加密,在字母表中,用ASCII码中的字符替代其中的每个字母(标点符号除外),作为非常简单的加密模式的一部分,就会把该字符串变成"Ifmmp gspn bmm uif hvst bu Xspy Qsftt. Xf ep ipqf zpv fokpz uijt cppl bt nvdi bt xf fokpzfe xsjujoh ju."。

完成这个任务有好几种方式,但最简单、最高效的一种(假定只使用String类)是使用String. Replace()方法,把字符串中指定的子字符串用另一个子字符串代替。

使用Replace(),加密文本的代码如下所示:char old1 = (char)i;char new1 = (char)(i+1);greetingText = greetingText.Replace(old1, new1);}Console.WriteLine("Encoded:\n" + greetingText);注意:为了简单起见,这段代码没有把Z换成A,或把z换成a。

这些字符分别编码为[和{。

Replace()以一种智能化的方式工作,在某种程度上,它并没有创建一个新字符串,除非要对旧字符串进行某些改变。

原来的字符串包含23个不同的小写字母,和3个不同的大写字母。

所以Replace()就分配一个新字符串,共26次,每个新字符串都包含103个字符。

因此加密过程需要在堆上有一个能存储总共2678个字符的字符串对象,最终将等待被垃圾收集!显然,如果使用字符串进行文字处理,应用程序就会有严重的性能问题。

为了解决这个问题,Microsoft提供了System.Text.StringBuilder类。

StringBuilder不像String那样支持非常多的方法。

在StringBuilder上可以进行的处理仅限于替换和添加或删除字符串中的文本。

但是,它的工作方式非常高效。

在使用String类构造一个字符串时,要给它分配足够的内存来保存字符串,但StringBuilder通常分配的内存会比需要的更多。

开发人员可以选择显式指定StringBuilder要分配多少内存,但如果没有显式指定,存储单元量在默认情况下就根据StringBuilder初始化时的字符串长度来确定。

它有两个主要的属性:● Length指定字符串的实际长度;● Capacity是字符串占据存储单元的最大长度。

对字符串的修改就在赋予StringBuilder实例的存储单元中进行,这就大大提高了添加子字符串和替换单个字符的效率。

删除或插入子字符串仍然效率低下,因为这需要移动随后的字符串。

只有执行扩展字符串容量的操作,才需要给字符串分配新内存,才可能移动包含的整个字符串。

在添加额外的容量时,从经验来看,StringBuilder如果检测到容量超出,且容量没有设置新值,就会使自己的容量翻倍。

例如,如果使用StringBuilder对象构造最初的欢迎字符串,可以编写下面的代码:StringBuilder greetingBuilder =new StringBuilder("Hello from all the guys at Wrox Press. ", 150);greetingBuilder.AppendFormat("We do hope you enjoy this book asmuch as we enjoyedwriting it");注意:为了使用StringBuilder类,需要在代码中引用System.Text。

在这段代码中,为StringBuilder设置的初始容量是150。

最好把容量设置为字符串可能的最大长度,确保StringBuilder不需要重新分配内存,因为其容量足够用了。

理论上,可以设置尽可能大的数字,足够给该容量传送一个int,但如果实际上给字符串分配20亿个字符的空间(这是StringBuilder 实例允许拥有的最大理论空间),系统就可能会没有足够的内存。

执行上面的代码,首先创建一个StringBuilder对象,如图8-1所示。

图8-1在调用Append()方法时,其他文本就放在空的空间中,不需要分配更多的内存。

但是,多次替换文本才能获得使用StringBuilder所带来的性能提高。

例如,如果要以前面的方式加密文本,就可以执这段代码使用了StringBuilder.Replace()方法,它的功能与String.Replace()一样,但不需要在过程中复制字符串。

在上述代码中,为存储字符串而分配的总存储单元是150个字符,用于StringBuilder 实例以及在最后一个Console.WriteLine()语句中执行字符串操作期间分配的内存。

一般,使用StringBuilder可以执行字符串的操作,String可以存储字符串或显示最终结果。

8.1.2 StringBuilder成员前面介绍了StringBuilder的一个构造函数,它的参数是一个初始字符串及该字符串的容量。

还有几个其他的StringBuilder构造函数,例如,可以只提供一个字符串:或者用给定的容量创建一个空的StringBuilder:除了前面介绍的Length 和Capacity属性外,还有一个只读属性MaxCapacity,它表示对给定的StringBuilder实例的容量限制。

在默认情况下,这由int.MaxValue给定(大约20亿,如前所述)。

但在构造StringBuilder对象时,也可以把这个值设置为较低的值:主要的StringBuilder方法如表8-2所示。

表8-2其中一些方法还有几种格式的重载方法。

注意:AppendFormat()实际上会在调用Console.WriteLine()时调用,它负责确定所有像{0:D}的格式化表达式应使用什么表达式替代。

下一节讨论这个问题。

不能把StringBuilder转换为String(隐式转换和显式转换都不行)。

如果要把StringBuilder的内容输出为String,唯一的方式是使用ToString()方法。

前面介绍了StringBuilder类,说明了使用它提高性能的一些方式。

相关文档
最新文档