c#遍历字符串

发布时间:2017-10-16 00:18:02编辑:佚名阅读(652)

C#提供了两个方法用于遍历字符串。第一个方法是foreach循环,其使用方法如下:

string testStr = "abc123";
foreach (char c in testStr)
{
    Console.WriteLine(c.ToString());
}

这个方法快速且容易。不幸的是,与第二个方法相比它不太灵活,第二个方法使用for循环而不是foreach循环来遍历字符串。例如:

string testStr = "abc123";
for (int counter = 0; counter < testStr.Length; counter++)
{
    Console.WriteLine(testStr[counter]);
}

foreach循环更简单,因此不太容易出错,但其灵活性较差。与之相反,for循环稍微复杂一点,但其灵活性较高。

for循环这种方法使用字符串变量testStr的索引器来获取通过counter循环索引所指示位置上的字符。在使用这种循环机制时,一定要小心不要越出字符串数组的边界。

for循环很灵活,足以改变遍历字符串中的字符的方式。例如,通过简单改变for循环的初始化器和条件表达式可以快速修改循环,使之开始和结束于字符串中的特定位置。通过修改迭代器表达式使counter变量的递增数量大于1,可以跳过一些字符。还可以修改for循环表达式以逆序遍历字符串,如下所示:

for (int counter = testStr.Length - 1; counter >= 0; counter--)
{
    Console.WriteLine(testStr[counter].ToString());
}

注意: 编译器会最恰当地使用foreach循环来遍历一个向量数组 -- 它开始于0,并且只有一维。把foreach循环转换为另一种循环类型(比如for循环)可能不会导致任何显著的性能改进。

应该注意的是:所有这些方法都是使用/optimize编译器选项编译的。使用/optimize标志通常将使得编译过的代码尺寸更小,而不会使之变得更快。代码越小,从磁盘加载它的速度就会更快,并且实时编译它的速度也会更快。


  关键字:c#遍历字符串


鼓掌

0

正能量

0

0

呵呵

0


评论区