• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > 轻松学习C#的foreach迭代语句

轻松学习C#的foreach迭代语句

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了轻松学习C#的foreach迭代语句等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

C#语言提供的foreach语句是一个for语句循环的捷径,而且还促进了集合类的更为一致,先来看看它的定义格式:
foreach语句的定义格式为:
        foreach(类型   变量  in   集合)
        {
               子语句;
        }
       每执行一次内嵌语句,循环变量就依次取集合中的一个元素代入其中,在这里,循环变量是一个只读型局部变量,如试图改变其值将会发生编译错误。
       foreach语句用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成。in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素。
       foreach语句的优点一:语句简洁,效率高。
用一个遍历数组元素的例子来说明:
先用foreach语句来输出数组中的元素:

<span style="font-size:18px;">      int[,] ints =new int[2,3]{{1,2,3},{4,5,6}}; 
      foreach (int temp in ints) 
      { 
        Console.WriteLine(temp);  
      } 
      Console.ReadLine();</span> 
</div>

再用for语句输出数组中元素:

<span style="font-size:18px;">   int[,] ints =new int[2,3]{{1,2,3},{4,5,6}}; 
 for (int i = 0; i < ints.GetLength(0); i++) 
 { 
   for (int j = 0; j < ints.GetLength(1); j++) 
   { 
     Console.WriteLine(ints[i,j]); 
   } 
 } 
 Console.ReadLine();</span> 
</div>

这两种代码执行的结果是一样的都是每行一个元素,共6行,元素分别是1 2 3 4 5 6。
        在一维数组中还无法体现出foreach语句的简洁性,高效率性,但是在二维数组,甚至多维数组中体现的更为明显和方便,所以在C#语言中要用循环语句提倡使用foreach语句。
        foreach语句的优点二:避免不必要的因素
        在C#语言中使用foreach语句不用考虑数组起始索引是几,很多人可能从其他语言转到C#的,那么原先语言的起始索引可能不是1,例如VB或者Delphi语言,那么在C#中使用数组的时候就难免疑问到底使用0开始还是用1开始呢,那么使foreach就可以避免这类问题。
        foreach语句的优点三:foreach语句自动完成类型转换
        这种体现可能通过如上的例子看不出任何效果,但是对于ArrayList之类的数据集来说,这种操作就显得比较突出。
先用foreach语句来实现类型转换操作:在使用ArrayList类时先要引入using System.Collections;

<span style="font-size:18px;">      int[] a=new int[3]{1,2,3}; 
      ArrayList arrint = new ArrayList(); 
      arrint.AddRange(a); 
      foreach (int temp in arrint) 
      { 
        Console.WriteLine(temp); 
      } 
      Console.ReadLine();</span> 
</div>

 再来使用for语句来实现:需要进行显式的强制转换

<span style="font-size:18px;">      int[] a=new int[3]{1,2,3}; 
      ArrayList arrint = new ArrayList(); 
      arrint.AddRange(a); 
      for (int i = 0; i < arrint.Count;i++ ) 
      { 
        int n = (int)arrint[i]; 
        Console.WriteLine(n); 
      } 
      Console.ReadLine();</span> 
</div>

            两个程序输出的结果为:每一行一个元素,分别为1,2,3。
foreach语句对于string类更是简洁:

<span style="font-size:18px;">using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace @foreach 
{ 
  class Program 
  { 
    static void Main(string[] args) 
    { 
      string str = "This is an example of a foreach"; 
      foreach (char i in str) 
      { 
        if (char.IsWhiteSpace(i)) 
        { 
          Console.WriteLine(i);//当i为空格时输出并换行 
        } 
        else 
        { 
          Console.Write(i);//当i不为空格时只是输出 
        } 
      } 
      Console.ReadLine(); 
    } 
  } 
}</span> 
</div>

         输出的结果为:每一行一个单词,分别为This, is ,an ,example ,of ,a ,foreach。
对于foreach语句的理解,目前也就知道这多了,随着更深层次的学习,或许会有更好的理解吧。

以上就是本文的全部内容,希望对大家的学习有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-28C#图像处理之图像平移的方法
  • 2017-05-28C# Entity Framework中的IQueryable和IQueryProvider详解
  • 2017-05-28C#使用FolderBrowserDialog类实现选择打开文件夹方法详解
  • 2017-05-28c#开发word批量转pdf源码分享
  • 2017-05-28c#3.0实现延迟赋值示例
  • 2017-05-28C#身份证验证小例子
  • 2017-05-28c# HttpWebRequest通过代理服务器抓取网页内容应用介绍
  • 2017-05-28c#完美截断字符串代码(中文+非中文)
  • 2017-05-28c#通过app.manifest使程序以管理员身份运行
  • 2017-05-28HTML文本框的值改变后触发后台代码的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C# 读写XML(代码分享)
    • C#特性 迭代器(下) yield以及流的延迟计算
    • C#基础语法:as 运算符使用实例
    • C#中事件的动态调用实现方法
    • SQL+C#实现获得当前月的第一天与最后一天
    • C#入门之窗体的简单用法实例
    • c#创建windows服务入门教程实例
    • 浅析C# 中的类型系统(值类型和引用类型)
    • 使用递归算法求第30位数的值
    • DevExpress实现GridControl单元格编辑验证的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有