C#常用数据结构与算法

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

1. 比较字符串


2014-5-25
4
C#程序设计实用教程
方法 Compare CompareTo Concat Contains Equals Format IndexOf Insert Remove Replace Split
Substring ToLower ToUpper Trim
说明 静态方法。比较两个指定的String对象 非静态方法。将此字符串与指定的对象或String进行比较,并返回两者相对 值的指示 静态方法。连接String的一个或多个字符串 非静态方法。返回一个值,该值指示指定的String对象是否出现在此字符串 中 非静态方法。确定两个String对象是否具有相同的值 静态方法。将指定的String中的每个格式项替换为相应对象的值的文本等效 项 非静态方法。返回String或一个或多个字符在此字符串中的第一个匹配项的 索引 非静态方法。在该String中的指定索引位置插入一个指定的String 非静态方法。从该String中删除指定个数的字符 非静态方法。将该String中的指定String的所有匹配项替换为其他指定的 String 非静态方法。返回包含该String中的子字符串(由指定Char或String数组的 元素分隔)的String数组 非静态方法。从此字符串中检索子字符串 非静态方法。返回该String转换为小写形式的副本 非静态方法。返回该String转换为大写形式的副本 非静态方法。从此字符串的开始位置和末尾移除一组指定字符的所有匹配


其中,参数format用于指定返回字符串的格式,而args
为一系列变量参数。
2014-5-25
20
C#程序设计实用教程
7.1.1 静态字符串String
//Format
newStr="";
newStr=String.Format("{0},{1}!",strA,strB);
Console.WriteLine(newStr);

例如,想要输出一定格式的时间字符串,便可以使 用Format方法,如下面代码所示。 newStr=String.Format("CurrentTime={0:yyyy-MMdd}",System.DateTime.Now); Console.WriteLine(newStr); //形如:2008-09-19 其中,格式字符串“yyyy-MM-dd”指定返回时间的格式 形如“2008-09-19”。
2014-5-25
13
C#程序设计实用教程
(1)StartWith/EndsWith方法

7.1.1 静态字符串String
StartWith方法可以判定一个字符串对象是否以另一个 子字符串开头,如果是返回True;否则返回False。 其定义为: public bool StartsWith(string value) 其中,参数value即待判定的子字符串。 //StartWith

下例在“Hello”中寻找字符“l”第一次和最后一次 出现的位置。
//IndexofAny|LastIndexOfAny
char[] anyOf={'H','e','l'};
Console.WriteLine(strA.IndexOfAny(anyOf)); //0 Console.WriteLine(strA.LastIndexOfAny(anyOf)); //3
串的基本概念





空串:不含任何字符的串称为空串 空格串:由一个或多个空格组成的串,称为空 格串。 串相等:是指两个串的长度相等且对应的字符 相等。 模式匹配:确定子串在主串中首次出现位置的 运算。 子串:串中任意个连续的字符组成的子序列称 为该 串的子串。 主串:包含子串的串称为该子串的主串。

如果两个字符串相等,Equals()返回值为True;否则, 返回False。Equals方法的使用如下代码所示:
//false
C#程序设计实用教程
//Equals
Console.WriteLine(String.Equals(strA,strB)); Console.WriteLine(strA.Equals(strB));


Console.WriteLine(strA.StartsWith("He"));//true
Console.WriteLine(strA.StartsWith("She"));//false

另外,EndsWith方法可以判定一个字符是否以另一个 子字符串结尾。
14 C#程序设计实用教程
2014-5-25
2014-5-25 11
//false
7.1.1 静态字符串String
(4)比较运算符

String支持两个比较运算符“==”、“!=”,分别用 于判定两个字符是否相等和不等,并区分大小写。 下例中,使用“==”、“!=”对“Hello”和“World” 进行比较。

//==和!=
Console.WriteLine(strA==strB);
2014-5-25
8
C#程序设计实用教程
7.1.1 静态字符串String
(2)CompareTo方法

CompareTo方法将当前字符串对象与另一个对象做比较, 其作用与Compare类似,返回值也相同。 CompareTo与Compare相比,区别在于: CompareTo没有重载形式,只能按照大小写敏感方式比 较两个整串。
7.1.1 静态字符串String
(3)IndexOfAny/LastIndexOfAny

IndexOfAny方法功能同IndexOf类似,区别在于,可以搜索在一 个字符串中,出现在一个字符数组中的任意字符第一次出现 的位置。
2014-5-25
18
C#程序设计实用教程
7.1.1 静态字符串String

同IndexOfAny类似,LastIndexOfAny用于搜索在一个 字符串中,出现在一个字符数组中任意字符最后一次 出现的位置。
19 C#程序设计实用教程
2014-5-25
7.1.1 静态字符串String
3. 格式化字符串

Format方法用于创建格式化的字符串以及连接多个字符
串对象。 Foramt方法也有多个重载形式,最常用的为: public static string Format(string format,params object[] args);
7.1.1 静态字符串String
(2)IndexOf/LastIndLeabharlann BaiduxOf方法

IndexOf方法用于搜索一个字符串,某个特定的字符 或子串第一次出现的位置,该方法区分大小写,并 从字符串的首字符开始以0计数。如果字符串中不 包含这个字符或子串,则返回-1。

定位字符:
int IndexOf(char value) int IndexOf(char value,int startIndex) int IndexOf(char value,int startIndex,int count)



CompareTo不是静态方法,可以通过一个String对象调用;
2014-5-25
9
C#程序设计实用教程
7.1.1 静态字符串String
CompareTo方法的使用如下代码所示: //定义两个String对象,并对其赋值 System.String strA="Hello"; System.String strB="World";

2014-5-25
22
C#程序设计实用教程
7.1.1 静态字符串String
4. 连接字符串
(1) Concat方法
• •
Concat方法用于连接两个或多个字符串 //Concat
newStr="";
newStr=String.Concat(strA," ",strB);
Console.WriteLine(newStr);

//Hello,World!
在format参数中包含一些用大括号括起来的数字,如{0}、 {1},这些数字分别一一对应于args参数数组中的变量。 在生成结果字符串时,将使用这些变量代替{i}。需要说 明的是,这些变量并不要求必须为String类型。
2014-5-25
21
C#程序设计实用教程
7.1.1 静态字符串String

//CompareTo Console.WriteLine(strA.CompareTo(strB));
//-1
2014-5-25
10
C#程序设计实用教程
7.1.1 静态字符串String
(3)Equals方法

Equals方法用于方便地判定两个字符串是否相同, 有两种重载形式:
public bool Equals(string) public static bool Equals(string,string)

在上述重载形式中,其参数含义如下:
Value:待定位的字符或者子串。 startIndex:在总串中开始搜索的起始位置。
Count:在总串中从起始位置开始搜索的字符数。
2014-5-25
16
C#程序设计实用教程
7.1.1 静态字符串String

下例在“Hello”中寻找字符“l”第一次出现的位置。
7.1.1 静态字符串String
(1)Compare方法

Compare方法是String类的静态方法,用于全面比较两 个字符串对象。 下面使用Compare方法来比较两个字符串,输出结果如 注释语句所示。 //定义两个String对象,并对其赋值 System.String strA="Hello"; System.String strB="World";

2014-5-25
7
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
2014-5-25
15
C#程序设计实用教程
7.1.1 静态字符串String

定位子串:
int IndexOf(string value) int IndexOf(string value,int startIndex) int IndexOf(string value,int startIndex,int count)
//“Hello World"

2014-5-25
3
C#程序设计实用教程
7.1.1 静态字符串String

System.String是最常用的字符串操作类。下面从各个 应用的角度对String类进行详细的介绍。 比较字符串是指按照字典排序规则,判定两个字符 的相对大小。 在String类中,常用的比较字符串的方法包括 Compare、CompareTo、CompareOrdinal以及Equals。
第7章 常用数据结构与算法

数据结构和算法是程序设计的基石。
本章重点讲述C#中的几个主要的数据结构 类型:字符串、数组和枚举。 本章还将介绍一些常用算法,如几种典型 排序算法的C#实现。

2014-5-25
2
C#程序设计实用教程
7.1 字符串

字符串是应用程序和用户交互的主要方式之一。
.NET提供了几个类来快速实现字符串操作,包括 String、StringBuilder等。
//false
Console.WriteLine(strA!=strB); //true
2014-5-25
12
C#程序设计实用教程
7.1.1 静态字符串String
2. 定位字符和子串

定位子串是指在一个字符串寻找其中包含的子串或者 某个字符,在String类中,常用的定位子串和字符的方 法包括StartWith/EndsWith、IndexOf/LastIndexOf以及 IndexOfAny/LastIndexOf。
//Indexof Console.WriteLine(strA.IndexOf('l')); //2

同IndexOf类似,LastIndexOf用于搜索在一个字符串 中,某个特定的字符或子串最后一次出现的位置, 其方法定义和返回值都与IndexOf相同。
2014-5-25
17
C#程序设计实用教程
相关文档
最新文档