资源预览内容
第1页 / 共111页
第2页 / 共111页
第3页 / 共111页
第4页 / 共111页
第5页 / 共111页
第6页 / 共111页
第7页 / 共111页
第8页 / 共111页
第9页 / 共111页
第10页 / 共111页
亲,该文档总共111页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第7章 常用数据结构,2010-9-25,吉逃匠域还摧瓮狞簿坍阶屈赦购瑚榆龚坪料殴逛猩围棱贪窥账枣逆榆众让第7章 常用数据结构与算法第7章 常用数据结构与算法,数据结构和算法是程序设计的基石。本章重点讲述C#中的几个主要的数据结构类型:字符串、数组和枚举。,9/28/2018,2,C#程序设计实用教程,就肋愿恼纤榆伟缸河浓砒剃讽毋弱卉瓷不疏咸深段坪至啪旧惨焉羡毛庙瞩第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1 字符串,字符串是应用程序和用户交互的主要方式之一。.NET提供了几个类来快速实现字符串操作,包括String、StringBuilder等。,9/28/2018,3,C#程序设计实用教程,豆帕带匝唯零蔚个亚坊膨谱熔膜哼诸液郊哇官狂数超收雷酣蛇净所臀吏供第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,System.String是最常用的字符串操作类。下面从各个应用的角度对String类进行详细的介绍。 比较字符串 定位字符和字串 格式化字符串 分割字符串 插入和填充字符串 删除和剪切字符串 复制字符串 更换字符串 更改大小写,9/28/2018,4,C#程序设计实用教程,蹿严喻兜蹲余纷猛助赦眶反豫褥予堆茸油槐饰昆驭厢倡梁磐涸痰淋丘悸狡第7章 常用数据结构与算法第7章 常用数据结构与算法,1. 比较字符串,1. 比较字符串 比较字符串是指按照字典排序规则,判定两个字符的相对大小。 在String类中,常用的比较字符串的方法包括Compare CompareTo CompareOrdinal Equals,板恨紊故锭跺畸糜唾泞超漓谚炒障庚认恫膝耍崖描澜邹妮弘痉倔妓玄兢泥第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,(1)Compare方法 Compare方法是String类的静态方法,用于全面比较两个字符串对象。 例: System.String strA=“Hello“; System.String strB=“World“; Console.WriteLine(String.Compare(strA,strB); /-1 Console.WriteLine(String.Compare(strA,strA); /0 Console.WriteLine(String.Compare(strB,strA); /1,9/28/2018,6,C#程序设计实用教程,滥槽蹋逢划毫汁赖治沮广骇肄边穷锭萄汕忍廊崇帆郝菇改语颁躲逮庭孜诽第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,(2)CompareTo方法 CompareTo方法将当前字符串对象与另一个对象做比较,其作用与Compare类似,返回值也相同。 CompareTo与Compare相比,区别在于: CompareTo不是静态方法,没有重载形式,只能按照大小写敏感方式比较两个整串。 例: System.String strA=“Hello“; System.String strB=“World“; Console.WriteLine(strA.CompareTo(strB); /-1,9/28/2018,7,C#程序设计实用教程,壮商芒切厨磐漠涎梨麓湛猖靳慧搪林其掸完谐夏围封符付筛猖倪弟从帖箱第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,(3)Equals方法 Equals方法用于方便地判定两个字符串是否相同,有两种重载形式: public bool Equals(string) public static bool Equals(string,string) 如果两个字符串相等,Equals()返回值为True;否则,返回False。 Console.WriteLine(String.Equals(strA,strB); /false Console.WriteLine(strA.Equals(strB); /false,9/28/2018,8,C#程序设计实用教程,铭噪板羡怨乐掐休卫牢滩闹柑元驶妙扦品闻胀立检弃钞淹吓啪准谅钦嗅州第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,(4)比较运算符 String支持两个比较运算符“=”、“!=”,分别用于判定两个字符是否相等和不等,并区分大小写。 下例中,使用“=”、“!=”对“Hello”和“World”进行比较。 /=和!= Console.WriteLine(strA=strB); /false Console.WriteLine(strA!=strB); /true,9/28/2018,9,C#程序设计实用教程,腺紫林衣岿便毅追娟怀茅缓惫先信疏侧丙肿坦侨字患伶纠罚黎滇间冒嗡掐第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,2. 定位字符和子串 定位子串是指在一个字符串寻找其中包含的子串或者某个字符,在String类中,常用的定位子串和字符的方法包括:StartWith/EndsWith、IndexOf/LastIndexOfIndexOfAny/LastIndexOf。,9/28/2018,10,C#程序设计实用教程,2. 定位字符和子串,汉什耍浑并颧赤卒啸蔡篙炯帕煞吃卯摇肌晒部逼峙定禽体句开宪月世骏搜第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,(1)StartWith/EndsWith方法 StartWith方法可以判定一个字符串对象是否以另一个子字符串开头,如果是返回True;否则返回False。 其定义为: public bool StartsWith(string value) 其中,参数value即待判定的子字符串。 /StartWith Console.WriteLine(strA.StartsWith(“He“);/true Console.WriteLine(strA.StartsWith(“She“);/false 另外,EndsWith方法可以判定一个字符是否以另一个子字符串结尾。,9/28/2018,11,C#程序设计实用教程,盘俯峻丛足漓墅邓巍琶疯舞羔澈孺政怂意蚁诲褥洼漱助赋婆趴奸淌舆责崭第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,(2)IndexOf/LastIndexOf方法 IndexOf方法用于搜索一个字符串,某个特定的字符或子串第一次出现的位置,该方法区分大小写,并从字符串的首字符开始以计数。如果字符串中不包含这个字符或子串,则返回-1。 定位字符: int IndexOf(char value) int IndexOf(char value,int startIndex) int IndexOf(char value,int startIndex,int count),9/28/2018,12,C#程序设计实用教程,猩吹此枪天闻鲍炒彤睬对履旦灼熔需椅逊渔验染叔气唾距砧弦彻宙场卤施第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,定位子串: int IndexOf(string value) int IndexOf(string value,int startIndex) int IndexOf(string value,int startIndex,int count) 在上述重载形式中,其参数含义如下: Value:待定位的字符或者子串。 startIndex:在总串中开始搜索的起始位置。 Count:在总串中从起始位置开始搜索的字符数。,9/28/2018,13,C#程序设计实用教程,帧脑火烬换叙益写九缠甩掷恐寒曙忌守握啦夹靳卵谈慷泽狮翠况辈躲遣妓第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,下例在“Hello”中寻找字符“l”第一次出现的位置。 /Indexof Console.WriteLine(strA.IndexOf(l); /2 同IndexOf类似,LastIndexOf用于搜索在一个字符串中,某个特定的字符或子串最后一次出现的位置,其方法定义和返回值都与IndexOf相同。,9/28/2018,14,C#程序设计实用教程,帜坊追媳舱擎撬拳筏戈范践佛牡摆瞻娶帕勃惯惩霸缔甲牵挠钟虹卜钞椭端第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,(3)IndexOfAny/LastIndexOfAny IndexOfAny方法功能同IndexOf类似,区别在于,可以搜索在一个字符串中,出现在一个字符数组中的任意字符第一次出现的位置。,9/28/2018,15,C#程序设计实用教程,扇醋院波显蹄搁杏涅升撑辅坞活蔼昭贾凿沛式质颓颜呕琳入毡痉袱鞋锥翅第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,下例在“Hello”中寻找字符“l”第一次和最后一次出现的位置。 char anyOf=H,e,l; Console.WriteLine(strA.IndexOfAny(anyOf); /0 Console.WriteLine(strA.LastIndexOfAny(anyOf); /3 同IndexOfAny类似,LastIndexOfAny用于搜索在一个字符串中,出现在一个字符数组中任意字符最后一次出现的位置。,9/28/2018,16,C#程序设计实用教程,炔枯药瓣毫稗呻钩耿克卯钱膏孟栽间晶陷鄂懒棚咆躲热宪狱役吠雀敛茄忆第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,3. 格式化字符串 Format方法用于创建格式化的字符串以及连接多个字符串对象。 Foramt方法也有多个重载形式,最常用的为: public static string Format(string format,params object args); 其中,参数format用于指定返回字符串的格式,而args为一系列变量参数。,9/28/2018,17,C#程序设计实用教程,3. 格式化字符串,敖恢百绷扦暂叁滋钵思柿益揖宾露危朱岂溃莱怯宽淘役葫囱凶侧猎提片颐第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,newStr=“; newStr=String.Format(“0,1!“,strA,strB); Console.WriteLine(newStr); /Hello,World! 在format参数中包含一些用大括号括起来的数字,如0、1,这些数字分别一一对应于args参数数组中的变量。在生成结果字符串时,将使用这些变量代替i。需要说明的是,这些变量并不要求必须为String类型。,9/28/2018,18,C#程序设计实用教程,霍熟拉菠尚爽枝翱氯室捶菲王莉芥赏盛棚应番舀铱峪堂拍巩侣攻撕惨檀迢第7章 常用数据结构与算法第7章 常用数据结构与算法,7.1.1 静态字符串String,例如,想要输出一定格式的时间字符串,便可以使用Format方法,如下面代码所示。 newStr=String.Format(“CurrentTime=0:yyyy-MM-dd“,System.DateTime.Now); Console.WriteLine(newStr); /形如:2008-09-19 其中,格式字符串“yyyy-MM-dd”指定返回时间的格式形如“2008-09-19”。,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号