3,字符串的处理
string类型变量可以看作是char变量的只读数组.这样就可以使用下面的语法访问每个字符:(其中使用了数组变量的ToCharArray())
char[] myChars = myString.ToCharArray();
接着就可以用标准方式处理cahr数组了.也可以在foreack循环中使用字符串:
{
Console.WriteLine{{0}", character);
}
与数组一样,还可以使用myString.Length获取元素的个数.
*三个简单但很有效的命令是<string>.ToLower(),<string>.ToUpper()和<string>.Trim().分别可以把字符串转换为大写或小写形式,删除字符串中的空格. <string>.Trim(),也可以删除其他字符,只要在一个char数组中指定这些字符:
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().它们可以在字符串的左边或右边添加空格,使字符串达到指定的长度.语法如下:
例如:
myString = myString.PadLeft(10);
这将在myString中把3个空格添加到单词Aligned的左边.这些方法可以用于在列中对齐字符串,特别适合于在其他字符串的下面旋转一定数量的字符串.
与删除命令一样,还可以以第二种方式使用这些命令, 即提供要添加到字符串上的字符,这需要一个char,而不是像删除命令那样指定一个char数组.例如:
myString = myString.PadLeft(10,'-');
这将在myString的开关加上3个短横线.
示例:
{
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类型吗?