一天一小步_我学C#入门精典_第八天

3,字符串的处理

string类型变量可以看作是char变量的只读数组.这样就可以使用下面的语法访问每个字符:(其中使用了数组变量的ToCharArray())

string myString "A string";

char[] myChars = myString.ToCharArray();

接着就可以用标准方式处理cahr数组了.也可以在foreack循环中使用字符串:

foreack (char caracter in myString)

{

Console.WriteLine{{0}", character);

}

与数组一样,还可以使用myString.Length获取元素的个数.

*三个简单但很有效的命令是<string>.ToLower(),<string>.ToUpper()和<string>.Trim().分别可以把字符串转换为大写或小写形式,删除字符串中的空格. <string>.Trim(),也可以删除其他字符,只要在一个char数组中指定这些字符:

char[] trimChars = {'', 'e', 's'};

string userResponse = Console.ReadLine();

userResponse = userResponse.ToLower();

//这将从字符的前面或后面删除所有的空格,字母e和s.

userResponse = userResponse.Trim(trimChars);

if (userRespinse == "y")

{

//act on response

}

还可以使用<string>.TrimStart()和<string>.TrimEnd()命令.它们可以把字符串的前面或后面的空格删掉.这些命令也需要指定char数组.

还有另外两个字符串命令可以处理字符串的空格:<string>.PadLeft()和<string>.PadRight().它们可以在字符串的左边或右边添加空格,使字符串达到指定的长度.语法如下:

<string>.PadX(<desiredLength>);

例如:

myString = "Aligned";

myString = myString.PadLeft(10);

这将在myString中把3个空格添加到单词Aligned的左边.这些方法可以用于在列中对齐字符串,特别适合于在其他字符串的下面旋转一定数量的字符串.

与删除命令一样,还可以以第二种方式使用这些命令, 即提供要添加到字符串上的字符,这需要一个char,而不是像删除命令那样指定一个char数组.例如:

myString = "Aligned";

myString = myString.PadLeft(10,'-');

这将在myString的开关加上3个短横线.

示例:

static void Main(string[] args)

{

string myString = "This is a test.";

char[] separator = {' '};

string[] myWords;

myWords = myString.Split(separator);

foreach (string word in myWords)

{

Console.WriteLine("{0}", word);

}

Console.ReadKey();

}

*示例说明:

在这段代码中,第一,使用了字符串命令Spit,第二,使用了VS的自动完成功能.

使用命令<string>.Split()把string转换为string数组,把它在指定的位置分隔开,这些位置采用数组的形式,在配合中该数组只有一个元素,即空格字符:

char[] separator = {' '};

自动完成功能(IntelliSense)... ...

***

shor类型包含彩虹的颜色,再加上黑色和白色,据此编写color枚举的代码.这个枚举可以使用byte类型吗?