




已阅读5页,还剩140页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 7章 常用数据结构 与算法 数据结构和算法是程序设计的基石。 本章重点讲述 C#中的几个主要的数据结构类型: 字符串、数组和枚举 一般性介绍即可!( C语言阶段已详讲过。) 1、介绍字符串的一些常用方法 2、数组的一般性定义和使用 了解介绍 List 3、枚举的一般性定义和使用* 2 C#程序设计实用教程7.1 字符串 字符串 是应用程序和用户交互的主要方式之一。 .NET提供了几个类来快速实现字符串操作,包括String、 StringBuilder等。* 3 C#程序设计实用教程7.1.1 静态字符串 String System.String是最常用的字符串操作类。下面从各个应用的角度对 String类进行详细的介绍。 1. 比较字符串 比较字符串是指按照字典排序规则,判定两个字符的相对大小。 在 String类中,常用的比较字符串的方法包括Compare、 CompareTo、 CompareOrdinal以及 Equals。* 4 C#程序设计实用教程7.1.1 静态字符串 String( 1) Compare方法 Compare方法是 String类的静态方法,用于全面比较两个字符串对象。 下面使用 Compare方法来比较两个字符串,输出结果如注释语句所示。 /定义两个 String对象,并对其赋值 System.String strA=“Hello“; System.String strB=“World“; * 5 C#程序设计实用教程7.1.1 静态字符串 String/Compare Console.WriteLine(String.Compare(strA,strB);/-1 Console.WriteLine(String.Compare(strA,strA);/0 Console.WriteLine(String.Compare(strB,strA);/1 * 6 C#程序设计实用教程7.1.1 静态字符串 String( 2) CompareTo方法 CompareTo方法将当前字符串对象与另一个对象做比较,其作用与 Compare类似,返回值也相同。 CompareTo与 Compare相比,区别在于: CompareTo不是静态方法,可以通过一个 String对象调用; CompareTo没有重载形式,只能按照大小写敏感方式比较两个整串。 * 7 C#程序设计实用教程7.1.1 静态字符串 String CompareTo方法的使用如下代码所示: /定义两个 String对象,并对其赋值 System.String strA=“Hello“; System.String strB=“World“; /CompareTo Console.WriteLine(strA.CompareTo(strB); /-1 * 8 C#程序设计实用教程7.1.1 静态字符串 String( 3) Equals方法 Equals方法用于方便地判定两个字符串是否相同,有两种重载形式: public bool Equals(string) public static bool Equals(string,string) 如果两个字符串相等, Equals()返回值为 True;否则,返回 False。 Equals方法的使用如下代码所示: /Equals Console.WriteLine(String.Equals(strA,strB); /false Console.WriteLine(strA.Equals(strB); /false * 9 C#程序设计实用教程7.1.1 静态字符串 String( 4)比较运算符 String支持两个比较运算符 “=”、 “!=”,分别用于判定两个字符是否相等和不等,并区分大小写。 下例中,使用 “=”、 “!=”对 “Hello”和 “World”进行比较。 /=和 != Console.WriteLine(strA=strB); /false Console.WriteLine(strA!=strB);/true* 10 C#程序设计实用教程7.1.1 静态字符串 String2. 定位字符和子串 定位子串是指在一个字符串寻找其中包含的子串或者某个字符,在 String类中,常用的定位子串和字符的方法包括 StartWith/EndsWith、 IndexOf/LastIndexOf以及IndexOfAny/LastIndexOf。 * 11 C#程序设计实用教程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方法可以判定一个字符是否以另一个子字符串结尾。 * 12 C#程序设计实用教程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) * 13 C#程序设计实用教程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:在总串中从起始位置开始搜索的字符数。 * 14 C#程序设计实用教程7.1.1 静态字符串 String 下例在 “Hello”中寻找字符 “l”第一次出现的位置。 /Indexof Console.WriteLine(strA.IndexOf(l); /2 同 IndexOf类似, LastIndexOf用于搜索在一个字符串中,某个特定的字符或子串最后一次出现的位置,其方法定义和返回值都与 IndexOf相同。* 15 C#程序设计实用教程7.1.1 静态字符串 String( 3) IndexOfAny/LastIndexOfAny IndexOfAny方法功能同 IndexOf类似,区别在于,可以搜索在一个字符串中,出现在一个字符数组中的任意字符第一次出现的位置。* 16 C#程序设计实用教程7.1.1 静态字符串 String 下例在 “Hello”中寻找字符 “l”第一次和最后一次出现的位置。 /IndexofAny|LastIndexOfAny char anyOf=H,e,l; Console.WriteLine(strA.IndexOfAny(anyOf); /0 Console.WriteLine(strA.LastIndexOfAny(anyOf); /3 同 IndexOfAny类似, LastIndexOfAny用于搜索在一个字符串中,出现在一个字符数组中任意字符最后一次出现的位置。 * 17 C#程序设计实用教程7.1.1 静态字符串 String3. 格式化字符串 Format方法用于创建格式化的字符串以及连接多个字符串对象。 Foramt方法也有多个重载形式,最常用的为: public static string Format(string format,params object args); 其中,参数 format用于指定返回字符串的格式,而 args为一系列变量参数。* 18 C#程序设计实用教程7.1.1 静态字符串 String/Format newStr=“; newStr=String.Format(“0,1!“,strA,strB); Console.WriteLine(newStr); /Hello,World! 在 format参数中包含一些用大括号括起来的数字,如 0、 1,这些数字分别一一对应于 args参数数组中的变量。在生成结果字符串时,将使用这些变量代替 i。需要说明的是,这些变量并不要求必须为 String类型。 * 19 C#程序设计实用教程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”。 * 20 C#程序设计实用教程7.1.1 静态字符串 String4. 连接字符串( 1) Concat方法 Concat方法用于连接两个或多个字符串 /Concat newStr=“; newStr=String.Concat(strA,“ “,strB); Console.WriteLine(newStr); /“Hello World“ * 21 C#程序设计实用教程7.1.1 静态字符串 String( 2) Join方法 Join方法利用一个字符数组和一个分隔符串构造新的字符串。常用于把多个字符串连接在一起,并用一个特殊的符号来分隔开。 Join方法的常用形式为: public static string Join(string separator,string values); 其中,参数 separator为指定的分隔符,而 values用于指定所要连接的多个字符串数组。* 22 C#程序设计实用教程7.1.1 静态字符串 String 下例用 “”分隔符把 “Hello”和 “World”连起来。 /Join newStr=“; String strArr=strA,strB; newStr=String.Join(“,strArr); Console.WriteLine(newStr); /“HelloWorld“ * 23 C#程序设计实用教程7.1.1 静态字符串 String( 3)连接运算符 “+” String支持连接运算符 “+”,可以方便地连接多个字符串。 例如,下例把 “Hello”和 “World”连接起来。 /+ newStr=“; newStr=strA+strB; Console.WriteLine(newStr); /“HelloWorld“ * 24 C#程序设计实用教程7.1.1 静态字符串 String5. 分隔字符串 使用 Split方法可以把一个整串,按照某个分隔符,分裂成一系列小的字符串。 例如,把整串,按照某个分隔符,分裂成一系列小的字符串。例如,把整串 “HelloWorld”按照字符 “”进行分裂,可以得到 3个小的字符串,即 “Hello”、 “”(空串)和 “World”。 Split方法最常用的形式为: public string Split(params char separator); 其中,参数 separator数组包含分隔符。* 25 C#程序设计实用教程7.1.1 静态字符串 String/Split newStr=“HelloWorld“; char separator=; String splitStrings=new String100; splitStrings=newStr.Split(separator); int i=0; while(isplitStrings.Length) Console.WriteLine(“item0:1“,i,splitStringsi); i+; 输出结果如下: Item0:Hello Item1: Item2:World * 26 C#程序设计实用教程7.1.1 静态字符串 String6. 插入和填充字符串 String类包含了在一个字符串中插入新元素的方法,可以用 Insert方法在任意插入任意字符。 Insert方法用于在一个字符串的指定位置插入另一个字符串,从而构造一个新的串。 Insert方法最常用的为: public string Insert(int startIndex,string value); 其中,参数 startIndex用于指定所要插入的位置,从开始索引; value指定所要插入的字符串。* 27
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 马尾松种植中发生的主要病虫害及针对性防治方法的多角度分析
- 医疗机构水污染物的监测与检测方法
- 稳定和扩大就业的背景与意义
- 就业质量提升的路径
- 2025年配网自动化监控项目合作计划书
- 广东省佛山市2017-2018学年高一上学期期末考试教学质量检测政治试题
- 浙江省台州市2024-2025学年高二上学期期末质量评估数学试题2
- 四川省棠湖中学2017-2018学年高二下学期开学考试语文试题
- 人教版高中化学选修四2-3-1化学平衡的建立教案1
- “超级全能生”高三全国卷26省12月联考甲卷文综政治试题
- 剪叉式高空作业平台检查验收表
- 中职思想政治高教版(2023)心理健康与职业生涯第2课
- 2024年苏州市职业大学单招职业技能测试题库及答案解析
- 销售部廉政培训课件
- 幽门螺旋杆菌科普文
- 唯物史观精华知识点总结
- 部队保密安全教育课件
- 三八普法知识讲座
- NB-T 47013.1-2015 承压设备无损检测 第1部分-通用要求
- 电缆隐蔽验收记录文本20种
- 小班健康-阿嚏阿嚏
评论
0/150
提交评论