版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C# 程序设计,第15章 数值、日期和字符串处理,Company Logo,15.3 字符串处理,C#字符串是Unicode字符的有序集合, Unicode字符使用UTF-16进行编码 编码的每个元素的数值都用一个System.Char对象表示 string类型是.NET Framework中的System.String类的别名 System.String类直接派生于Object类,且它是密封的 一个字符串是被一对双引号所包含的一系列字符,Company Logo,字符串常数,C#支持两种字符串常数: 常规字符串常数 原义字符串常数(Verbatim Strings),Company Logo
2、,常规字符串常数,放在双引号中的一串字符 除了普通字符,允许包含多个转义字符,Company Logo,原义字符串常数,以开头,后跟一对双引号,其中放入一串字符 每个字符都代表其原始的含义 逐字字符串中不能使用转义字符 可以跨越多行 以“”开头的字符被当作正常的字符处理 如果要包含双引号,就必须在一行中使用两个双引号,Company Logo,15.3.1 String类,String 对象称为不可变的(只读),因为一旦创建了该对象,就不能修改该对象的值。 有些字符串操作看来似乎修改了 String 对象,实际上是返回一个包含修改内容的新 String 对象。 如果需要修改字符串对象的实际内容
3、,可以使用 System.Text.StringBuilder 类,Company Logo,C# 中常用的字符串处理方法: Equals() :比较两个字符串的值是否相等 Join():连接字符串 Split():分割字符串 IndexOf():查找某个字符在字符串中的位置 SubString():从字符串中截取子字符串 ToLower():将字符串转换成小写形式 Trim():去掉字符串两边的空格 ,Company Logo,创建字符串,public String(char value) public String(char c, int count) public String(char
4、 value, int startIndex, int length),Company Logo,基本操作,Length属性返回字符串中字符的个数 更改大小写 public string ToUpper() public string ToLower() 判断String对象是否出现在该字符串中 public bool Contains(string value),Company Logo,比较字符串,比较字符串按照字典排序规则,判定两个字符的大小 Compare CompareTo CompareOrdinal Equals =,Company Logo,比较字符串,Compare方法是St
5、ring类的静态方法: public static int Compare(string strA, string strB) public static int Compare(string strA, string strB, bool ignoreCase) True:忽略大小写 False:大小写敏感 该比较使用当前区域性设置获取区域性特定的信息,如大小写规则和各个字符的字母顺序 负整数: strA strB 0: strA = strB,Company Logo,比较字符串,CompareTo将当前字符串与另一个对象比较,返回值与Compare相同,Company Logo,比较字符
6、串,String.CompareOrdinal 方法 (String, String) 通过计算每个字符串中相应 Char 对象的数值来比较两个指定的 String 对象 比较两个字符串而不考虑本地区域性,Company Logo,比较字符串,Equals方法用于判断两个字符串是否有相同的值 public bool Equals(string value) public static bool Equals(string a, string b),Company Logo,比较字符串,String支持比较运算符“=”和“!=” 判断两个字符串的值是否相等和不等 区分大小写,Company Lo
7、go,定位字符和子串,StartWith/EndsWith IndexOf/LastIndexOf IndexOfAny/LastIndexOfAny Substring,Company Logo,定位字符和子串,可以用下标定位单个字符,Company Logo,定位字符和子串,判断是否以一个字符串开头 public bool StartsWith(string value) 判断是否以一个字符串结尾 public bool EndsWith(string value),Company Logo,定位字符和子串,IndexOf方法搜索一个字符串,某个特定的字符或子串第一次出现的位置 如果不包含
8、这个字符或子串则返回-1 首字母以0计数 区分大小写 LastIndexOf方法搜索一个字符串,某个特定的字符或子串最后一次出现的位置 从后向前进行,Company Logo,定位字符和子串,IndexOfAny搜索一个字符串中,出现在一个字符数组中的任意字符的第一次出现的位置 如果不包含这个字符或子串则返回-1 首字母以0计数 区分大小写 LastIndexOfAny搜索一个字符串中,出现在一个字符数组中的任意字符的最后一次出现的位置,Company Logo,定位字符和子串,public string Substring(int startIndex) public string Subs
9、tring(int startIndex, int length),Company Logo,连接字符串,Concat方法 public static string Concat(string str0, string str1) public static string Concat(params object args),Company Logo,连接字符串,Join方法 把多个字符串连接在一起,并用一个特殊的符号来分隔开 public static string Join(string separator, params string value),Company Logo,连接字符串,
10、连接运算符“+” null字符串不能引用string的方法,但可以被用在字符串比较和连接中,Company Logo,格式化字符串,Format方法用于创建格式化的字符串以及连接多个字符串对象 public static string Format(string format, params object args) format:指定返回字符串的格式 args:一系列变量参数,不一定必须为String类型,Company Logo,替换字符串,public string Replace(string oldValue, string newValue) public string Repla
11、ce(char oldChar, char newChar),Company Logo,插入和填充字符串,public string Insert(int startIndex, string value),Company Logo,删除和剪切字符串,public string Remove(int startIndex) public string Remove(int startIndex, int count),Company Logo,删除和剪切字符串,public string Trim() public string Trim(params char trimChars) trim
12、Chars-包含指定要去掉的字符,Company Logo,分隔字符串,public string Split(params char separator),Company Logo,复制字符串,public static string Copy(string str) public void CopyTo(int sourceIndex, char destination, int destinationIndex, int count),Company Logo,字符串转换为字符数组,public char ToCharArray() public char ToCharArray(int
13、 startIndex, int length),Company Logo,对齐,public string PadLeft(int totalWidth) 右对齐实例中的字符,在左边用空格填充 public string PadRight(int totalWidth) 右对齐实例中的字符,在左边用空格填充,Company Logo,15.3.2 StringBuilder类,String.Text.StringBuilder类可以实现动态字符串 StringBuilder类的对象创建后可以通过追加、移除、替换或插入字符而对它进行修改 StringBuilder类创建一个字符串缓冲区,用于在
14、程序执行大量字符串操作时提供更好的性能,Company Logo,声明StringBuilder串,使用new创建并初始化StringBuilder对象 设置StringBuilder容量,Company Logo,追加操作,追加新的字符串到当前StringBuilder字符串的结尾处 public System.Text.StringBuilder Append(object value),Company Logo,其他操作,AppendFormat实现对追加部分字符串的格式化,并追加在StringBuilder对象结尾处 public System.Text.StringBuilder A
15、ppendFormat(string format, params object args) 从指定位置删除一定数量的字符 public System.Text.StringBuilder Remove(int startIndex, int length) 替换操作 public System.Text.StringBuilder Replace(string oldValue, string newValue) public System.Text.StringBuilder Replace(char oldChar, char newChar),Company Logo,15.1.1 M
16、ath类和数学函数,Math类为三角函数、对数函数和其他通用数学函数提供常数和静态方法。 该类属于System命名空间。 Math类是一个密封类,有2个公共字段和若干静态方法,Company Logo,15.1.2 Random类和随机函数,Random类提供了产生伪随机数的方法 public virtual int Next(int maxValue) public virtual int Next(int minValue, int maxValue) public virtual int Next() public virtual double NextDouble(),Company
17、Logo,15.2 日期和时间处理,System.DateTime用来处理日期和时间 DateTime结构类位于System命名空间中 DateTime表示某一时刻的时间 DateTime值类型表示值范围在公元0001年1月1日午夜12:00:00到公元9999年12月31日晚上11:59:59之间的日期和时间 设计时区的时间转换使用TimeZoneInfo DateTime对时间的各种操作基于Gregorian calendar,Company Logo,15.2 日期和时间处理,通过以下语法格式定义一个日期时间变量: public DateTime(int year, int month, int day) public DateTime(int year, int month, int day, int hour, int minute, int second),Company Logo,15.2 日期和时间处理,Company Logo,15.2 日
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论