C# 基础(5)--字符串

Params

可变参数,只能修饰数组,可以传递数组,也可以传递数组的元素。

要抛弃一个异常,可以这样写:

Throe new exeception??

命名空间

不在同一个命名空间下的类,不同直接访问,要想访问别的命名空间下类有两种方法:

1) 通过using引用命名空间

2) 写全称。命名空间.类名

大多情况下使用第一种

Ctrl+.  直接引用命名空间

System 为根命名空间

字符串

String类常用的方法:

1) string scoreA = "vb#"; string stra =scoreA.ToLower ();

得到字符串小写的形式

2) string scoreA = "vb#"; string stra =scoreA.ToUpper();

得到字符串的大写形式

3) scoreA .Equals (scoreB, StringComparison.CurrentCultureIgnoreCase

判断两个字符串是否相等

String可以看做是char的制度数组,char c[]= str[i];

C#中字符串有个重要的特性,不可变性。字符串一旦声明,就不可以再改变,所以只能通过索引来读取指定位置的char,不能对指定位置的char做修改。

如果要对char进行修改没那么就必须创建一个新的字符串,用str.ToCharArray()方法得到字符串中的char数组,对于数组进行修改后,调用new string (char[])这个构造函数,来创建char数组的字符串,一旦字符串被差姸,那么char数组的修改也不会造成字符串的变化。

比较字符串

1)compare方法

该方法是string类的静态方法,用于比较两个字符串对象。有6种重载方式

Int Compare(string strA,stringB, int indexA,int intdexB,int length, bool ignorCase,system.globalization.CultrueInfocultre)

intdexA,intdexB,子字符串的起始位置

ignorCase 指定考虑大小写

Length,待比较字符串的长度

CultrueInfocultre字符串的区域性信息

返回值

strA>strB 负整数

strA =strB 0

strA<strB 正整数

2)CompareTo()

CompareTo()方法将当前字符串对象与另一个字符串对象比较,其作用与Compare()方法类似,返回值也相同。

CompareTo()方法不是静态方法,可以通过一个string对象来调用,

CompareTo()方法没有重载形式,只能按照大小写敏感方式比较两个整串。

string StrA = "n";

string strB = "m";

int i = StrA.CompareTo(strB );

Console.WriteLine(i);

3)Equals()方法

该方法用于判断亮的字符串是否相同,有两种重载方式。

如果两个字符串相等,则返回True,否则返回False

string strA = "fgd";

string strB = "fgda";

Console.WriteLine(string.Equals (strA ,strB ));

Console.WriteLine(strA .Equals (strB ));

定位字符及子串

定位字串是指一个字符串中寻找其中包含的子串或者某个字符,在string类中,常用的方法有:

1)StartWith/Endwith方法

StartWith方法,可以判断一个字符串对象是否以另一个子字符串开头,如果是返回True;否则返回False,

Public bool StartWith(string value)

string strA = "fgd";

Console.WriteLine(strA .StartsWith ("fg"));

Console.WriteLine(strA.EndsWith ("g"));

2)Indexof/LastIndexof方法

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

3)IndexOfAny/LastIndexOfAny

它可以在一个字符串中搜索一个字符数组中的任意字符第一次出现的位置。

格式化字符串

Format方法用于创建格式化的字符串及连接多个字符串对象

DateTime DTA = DateTime.Now;

string strB = string.Format("{0:d}",DTA );

Console.WriteLine(strB );

插入和填充字符串

1)insert

用于在一个字符串的指定位置插入另一字符串,从而构造新的字符串。

string strA = "hellio";

Console.WriteLine(strA.Insert (0,"my name "));

属性

2)PadLeft/PadRight

该方法用于在一个字符串的左侧进行字符填充,使其达到一定的长度。

string strA = "hi";

Console.WriteLine(strA .PadLeft (5,'&'));//'&'是字符类型

删除和剪切字符串

1)Remove

从一个字符串的指定位置开始,删除指定数量的字符。索引从0开始

string strA = "hayyy";

string strB = strA.Remove(2,3);

Console.WriteLine(strB );

2)Trim  TrimStart、TrimEnd

用来剪切字符串中特定的字符

Trim()将指定字符串的首尾空白字符移除后形成的字符串

Trim(params char[]trimchars)

数组包含指定要去掉的字符,如果缺省,则为空格字符

返回值为,从指定字符串的开始和结尾移除trimChars中字符的所有匹配项后剩余的string

string strA = "@ jfioashg % jhoshdig  %";

Console.WriteLine(strA .Trim ('@','%'));

TrimStart()从字符串开始位置移除数组中指定的一组字符的所有匹配项。

string strA = "@@33hjkgh**";

Console.WriteLine(strA .TrimStart('@'),'3');

Console.WriteLine(strA.TrimEnd ('*'));

赋值字符串

1)Copy

如果想把一个字符串赋值到另一字符串数组中,可以使用string的静态方法Copy,

Public static string Copy(string str)

返回值,与str具有相同值得新的字符串

string strA = "my";

string strB = string.Copy(strA );

Console.WriteLine(strB );

Console.ReadKey();

2)CopyTo()

可以复制字源符串中的一部分到一个字符数组中,CopyTo()不是静态方法,其语法格式如下:

Public void CopyTo(int sourceIndex,char[]destinnation,int destinationIndex,int count)

sourceIndex 要复制字符串的其实位置

Destinnation 目标字符数组

destinationIndex 指定目标数组开始存放的位置

Count指定要复制的字符个数

string strA = "happy";

char[] strB = new char[100];

strA.CopyTo(0,strB ,0,3);

Console.WriteLine(  strB );

Length 获得字符串的长度

字符串的连接+,两边只要有一个字符串类型,那么另一个也会被自动转换成字符串类型。

一切类型(对象)都可以调用.ToString()方法,转换成字符串类型。

字符串的分割

String[] Split(Params char[] Separator);

将字符串按照指定的分割符分割为字符串数组。

String[] Split(char[] Separator,stringSplitOptions.Options);

将字符串按照指定的char分隔符分别为字符串数组,Options 取RemoveEmptyEntries的时候,将一处结果中的空白字段。

字符串替换

String Replace(string oldValue,string newValue)

string str1= strDataTime.Replace("-","/");

把第一个参数字符,转换为第二个参数字符。

取字符串

String SubString(int startindex);

去从位置startindex开始一直到最后的子字符。

String SubString(int startindex,int length);

取从位置startindex开始长度为length的子字符,如果子字符的长度不足length则报错。

BOOl Contains(string value);

判断字符串中是否含有字串value

Bool StartWith(string Value)

判断字符串是否以字串value开始

BoolEndsWith(string Value)

判断字符串是否以字串value结束

Int indexOf(string value);取字符串value第一次出现的位置。

Int index(string value,int StartIndex);

StringBuilder

StringBuilder类位于System.Text命名空间下,它可表示可变字符串。程序中存储不确定的字符串时,常常需要用StringBuilder类。

上一篇:13.SpringMVC和Spring集成(一) && 14.SpringMVC和Spring集成(二)


下一篇:BZOJ 1486: [HNOI2009]最小圈 [01分数规划]