zoukankan      html  css  js  c++  java
  • C# 和Java的foreach的不同用法

      循环语句为苦逼的程序猿们提供了很大的便利,有while、do...while、for和 foreach。而且foreach语句很简洁,但是它的优点不仅仅在于此,它的效率也是最高的。

      作为两个开发语言,用法当然有所不同。下面就分别说下各自的用法。

    C# foreach用法:

      

    foreach(type objName in collection/Array)

      这段语句会逐一检查数组中的所存储的变量值,并且一一将其取出,其中的type是你所要读取的数组对象将要存储在objName变量的数据类型,而objName是定义了一个type类型的变量名,代表每一次从集合和数组(collection/Array)中取得的元素,collection/Array则是所要存取的数组对象。用这种方法只需写一个foreach就可以遍历出除交错数组以外的所有维数的数组。
    注:objName的数据类型type必须与collection/Array对象的类型相同或比它大

    下面我用foreach循环一次性遍历a数组:

    int[,,] a = new int[222] { {{ 12 }, { 3,4}},{{ 56 }, { 7,8}} };//定义一个2行2列2纵深的3维数组a                       
    foreach(intin a){ 
        Console .WriteLine (i);                       
    }

    输出结果就是1 2 3 4 5 6 7 8。

    下面是遍历一个集合:

    List<string> names = new List<string>();//实例化一个集合
    names.Add("张三");
    names.Add("李四");
    names.Add("王五");
    foreach (string name in names)
    {
        Console.WriteLine("{0}", name);
    }

    输出结果就是 张三  李四  王五。

    Java foreach用法:

    for(type variableName : array|connection){
         //variable自动迭代访问每一个元素
    } 

      这段语句跟C# 的foreach语法大致相同,只不过“in”变成了“:”,这里就不多做解释了。用法大致与C#相同,不同的是对于多维数组的遍历,下面看用法。

    遍历集合:

    //创建List并添加元素
    List<String> list = new ArrayList<String>();
    list.add("1");
    list.add("3");
    list.add("4");
    
    //利用froeach语句输出集合元素
    for (String x : list) {
        System.out.println(x);
    } 

    输出结果就不说了

    遍历数组:

    一维数组:

    //定义并初始化一个数组   
    int arr[] = {2, 3, 1};  
    //利用foreach语句输出数组元素
    for (int x : arr) { System.out.println(x); //逐个输出数组元素的值 }

    二维数组:

    //定义并初始化一个数组 
    int arr2[][] = {{4, 3}, {1, 2}};   
    //利用foreach语句输出数组元素
    for (int x[] : arr2) {   
        for (int e : x) {   
            System.out.println(e); //逐个输出数组元素的值   
         }   
    }     

    三维数组:

    //定义并初始化一个数组
    int arr[][][] = {   
        {{1, 2}, {3, 4}},   
        {{5, 6}, {7, 8}}   
    };    
    //利用foreach语句输出数组元素
    for (int[][] a2 : arr) {   
        for (int[] a1 : a2) {   
            for (int x : a1) {   
                System.out.println(x);   //逐个输出数组元素的值
            }      
        }   
    }   

    若是n维数组,依次类推。

    注意:通过上面的例子可以发现,foreach仅仅老老实实地遍历数组或者集合一遍,如果要引用数组或者集合的索引,则foreach语句无法做到。所以不适合用于增加删除和使用下标等复杂的操作。foreach语句是for语句特殊情况下的增强版本,简化了编程,提高了代码的可读性和安全性(不用怕数组越界)。相对老的for语句来说是个很好的补充。提倡能用foreach的地方就不要再用for了。在用到对集合或者数组索引的情况下,foreach显得力不从心,这个时候是用for语句的时候了。foreach一般结合泛型使用

  • 相关阅读:
    eclipse中集成python开发环境
    取消eclipse英文单词拼写验证
    exe所在路径
    [转]关于Megatops BinCalc RPN计算器的说明
    WinDbg 蓝屏dump分析教程
    Delphi与Windows 7下的用户账户控制(UAC)机制 及 禁用兼容性助手
    【Delphi7】 解决“程序第一次可以正常编译,但再次编译的时候会报错,必须重新打开Delphi”的问题
    解决xftp远程连接中文乱码
    创建用资源管理器打开FTP位置
    收藏夹里的js
  • 原文地址:https://www.cnblogs.com/Tinoloving/p/4738607.html
Copyright © 2011-2022 走看看