zoukankan      html  css  js  c++  java
  • C# 数组

    二维数组由若干个一维数组组成。

    在C++中,组成二维数组的一维数组长度必须相等。在C#中却可以不相等。

    C#二维数组有两种:

    1,普通二维数组:

    int [,] arr2d = new int[3,2];
    int[,] scroes2d2 = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 } };

    2,数组的数组:又称锯齿数组,交错数组

    int[][] varr = new int[3][] //不能写成int[][] varr = new int[3][2]
    int[][] varr2 = new int[3][] { new int[1] { 1 }, new int[3] { 1, 2, 3 }, new int[2] { 1, 2 } };

    测试代码:

    class Program
        {
            static void Main(string[] args)
            {
                int[] scroes = new int[5];
                int[,] scroes2d = new int[3,2];
                Console.WriteLine("scroes2d.length:{0}", scroes2d.Length); //6
                for(int i=0; i<3; ++i)
                {
                    for(int j=0; j<2; ++j)
                    {
                        scroes2d[i, j] = i * 2 + j;
                    }
                }
    
                int[][] varr = new int[3][];
                Console.WriteLine("varr.length:{0}", varr.Length); //3
                for(int i=0; i<varr.Length; ++i)
                {
                    varr[i] = new int[i + 1];
                    for(int j=0; j<varr[i].Length; ++j)
                    {
                        varr[i][j] = j;
                    }
                }
                foreach(var arr in varr)
                {
                    foreach(var n in arr)
                    Console.Write(n);
                    Console.WriteLine();
                }
                Console.ReadKey();
            }
    
        }
    • 附:参数数组

    有时,当声明一个方法时,您不能确定要传递给函数作为参数的参数数目。C# 参数数组解决了这个问题,参数数组通常用于传递未知数量的参数给函数。

    在使用数组作为形参时,C# 提供了 params 关键字,使调用数组为形参的方法时,既可以传递数组实参,也可以只传递一组数组。params 的使用格式为:

    public 返回类型 方法名称( params 类型名称[] 数组名称 )

        class CTest
        {
            public void func(params int[] arr)
            {
                foreach(var n in arr)
                {
                    Console.Write(n + ",");
                }
            }
        }
        class Program
        {
            static void Main(string[] args)
            {

                  CTest ot = new CTest();
                  ot.func(1,2,3,4,5,6,7,8,9,0);
                  ot.func(new int[] { 1, 2, 3, 4 });

         }
            }

  • 相关阅读:
    android webview 使用以及一些异常处理及上传文件问题
    bootstrap 下拉菜单不显示的解决办法
    无损图片缩放
    startssl,免费的ssl证书申请及注意事项
    iis7.5
    vs2013 类名颜色显示黑色,无法修改
    "未能找到类型或命名空间名称",引用dll的时候出错
    由于 add 运算符中“Chinese_PRC_CI_AS”和“Chinese_PRC_CS_AS_WS”之间的排序规则冲突
    asp.net mvc int[] 和 string[] 自定义数组绑定
    windbg定位WEB性能瓶颈案例一则
  • 原文地址:https://www.cnblogs.com/timeObjserver/p/5926084.html
Copyright © 2011-2022 走看看