日期:2012-04-12  浏览次数:20477 次

我们先来看看ToCharArray()和Split()这两个方法,因为它与本问题相关.

先看ToCharArray()方法,它是将此实例中的字符复制到 Unicode 字符数组,它属于String类的方法,能够把字符串返向转换为一个字符数组,比如:

string str=”this is”;

Char[] arr;

arr=str.ToCharArray();//把"this is string”以单个字符分开,成为Char数组的元素

如果我们要输出看一下(假设有个listBox控件)方法如下:

foreach(char[] c in arr)

{

Listbox1.Items.Add(c.ToString());

}

的结果是这样的:

T

H

I

S



I

S

看看这个结果,可以明白包括空格在内都被分开成了char数组的元素.

我们再来看看Split()方法:

Split()方法是标识此实例中的子字符串(它们由数组中指定的一个或多个字符进行分隔),然后将这些子字符串放入一个 String 数组中。

它有两个重载版本:

public string[] Split(params char[]);



public string[] Split(char[], int);

我们讲第一个版本,后一个版本在MSDN中有解释.

它的参数是一个Char[]数组,也就是以Char[]中的元素作为分割的标识,分割后的结果存入string[]数组中,我们来举个例:

String strA=”what is this?,oh,orange!”;

String[] arStr;

arStr=strA.Split(str.ToCharArray());//str是我们前面定义了的”this is”

这时arStr[]数组中的元素就是由str中的7个字符为标识分割strA字符后产生的元素

我们来看一下结果如例:

Foreach(string cc in arStr)

{

ListBox1.Items.Add(cc.ToString());

}

结果就是:

Wa







?,o

,orange!

string[]数组arStr中凡是有arr数组中元素的字符都不会出现,因为它被用作分割标识符了.

至此,大家可能明白了字符的分割与数组的关系了,如果是,我就满足了!