解决方案

C#提供了两个方法用于遍历字符串。

1.第一个方法是foreach循环,这个方法快速且容易,但是与第二个方法相比它不太灵活。其使用方法如下:

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

2.第二个方法使用for循环而不是foreach循环来遍历字符串。例如:

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

讨论

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

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

for循环很灵活,足以改变遍历字符串中的字符的方式。例如,通过简单改变for循环的初始化器和条件表达式可以快速修改循环,使之开始和结束于字符串中的特定位置。

通过修改迭代器表达式使counter变量的递增数量大于1,可以跳过一些字符。还可以修改for循环表达式以逆序遍历字符串,如下所示:

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

注意:

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

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

关于C#中遍历字符串中的每个字符的方法的更多相关文章

  1. 【转载】C#中遍历DataTable中的数据行

    在C#中的Datatable数据变量的操作过程中,有时候我们需要遍历DataTable变量获取每一行的数据值,例如将DataTable变量转换为List集合的时候,我们就会遍历DataTable变量, ...

  2. PHP中去除字符串中的换行的方法

    在PHP中,有时候我们需要对字符串的换行进行过滤,比如天涯PHP博客中文章页面的description信息,我是直接截取的文章内容,并过滤掉html符号,最终还要过滤掉其中的换行.下面整理一下常见的去 ...

  3. 在SQL中取出字符串中数字部分或在SQL中取出字符部分

    在SQL中取出字符串中数字部分或在SQL中取出字符部分 编写人:CC阿爸 2013-10-18 近来在开发一个项目时,一包含数字的字符串,需要取出中间的数字部分进行排序.经过baidu搜索.并结合自己 ...

  4. C语言中返回字符串函数的四种实现方法 2015-05-17 15:00 23人阅读 评论(0) 收藏

    C语言中返回字符串函数的四种实现方法 分类: UNIX/LINUX C/C++ 2010-12-29 02:54 11954人阅读 评论(1) 收藏 举报 语言func存储 有四种方式: 1.使用堆空 ...

  5. C语言中返回字符串函数的四种实现方法

    转自C语言中返回字符串函数的四种实现方法 其实就是要返回一个有效的指针,尾部变量退出后就无效了. 有四种方式: 1.使用堆空间,返回申请的堆地址,注意释放 2.函数参数传递指针,返回该指针 3.返回函 ...

  6. PHP中取出字符串中的空格 逗号

    preg_replace("/\s| |,|,/","",$_str) PHP中取出字符串中的空格 逗号 (包括中文状态下)

  7. C#中查询字符串中是否包含指定字符/串,使用IndexOf还是Contains?

    C#中查询字符串中是否包含指定字符/串,使用IndexOf还是Contains?这是一个很常见的命题,以前也没有注意,今天QQ群里有人提起,于是就做了下试验,代码如下: using System; u ...

  8. Python中去除字符串中的单个或多个空格的方法总结

    python中去除字符串中空格的方法比较多,单个看起来也都比较简单 但是使用起来容易发生混淆 为了加深记忆 将常用的去除字符串中空格的方法汇总如下 方法一:strip()方法 >>> ...

  9. sql中遍历字符串

    在sql或者存储过程中会需要遍历字符串. ), --如111,222,333,尾部加, ), @Id int, ) set @split = ',' ) begin ,) ,charindex(@sp ...

随机推荐

  1. 2017.07.07【NOIP提高组】模拟赛B组

    Summary 因为某种无法抗拒的原因,今天没有打比赛,所以也就没有那种心态.今天的题目有状压DP和二分,这套题不难也不简单,适中,适合我这种渣渣来做.在改题时,发现了许多问题.我连欧拉函数的计算都记 ...

  2. input中autocomplete属性

    autocomplete="off":表示刷新页面时,input中的value值清空 <input type="text" id="q" ...

  3. PAT基础6-2

    6-2 多项式求值 (15 分) 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑​i=0​n​​(a[i]×x​i​​) 在x点的值. 函数接口定义: dou ...

  4. 多个ip以逗号分隔

    /^(((?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:1[0-9 ...

  5. web端设计和web前端开发 的区别

  6. leetcode笔记--SUM问题

    引用自 http://blog.csdn.net/wangxiaojun911/article/details/18922337,此处仅作为自己参考 1.Two SUM Given an array ...

  7. web项目上传图片需要刷新文件夹才能显示

    问题:上传图片到指定的目录,比如上传到项目文件夹中E:\briup\workspace\Buddhism\WebContent\userImage,但是上传呢完毕之后需要手动刷新该文件夹,网页上才能正 ...

  8. pygame-KidsCanCode系列jumpy-part5-屏幕滚动

    接上回继续,方块不断向上跳动的过程中,从视觉上看,整个背景屏幕应该不断向下滚动,而且上方要不断出现新档板(否则就没办法继续向上跳了),这节我们将来实现这种效果,感觉好象很复杂,但实现起来其实很简单,只 ...

  9. 阿里云安装nodejs和mongodb

    1) 安装nodejs wget https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz tar -xf node-v8.11.3- ...

  10. NDVI等植被相关指数

    一.基础概念 NDVI(Normalized Difference Vegetation Index,归一化差分植被指数,标准差异植被指数),植被覆盖指数.也称为生物量指标变化,可使植被从水和土的图像 ...