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

    数组是一种数据结构,它包含若干相同类型的变量。

    数组是使用类型声明的:

    type[] arrayName;

    数组概述

    数组具有以下属性:

    • 数组可以是一维多维交错的。

    • 数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。

    • 交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null

    • 数组的索引从零开始:具有 n 个元素的数组的索引是从 0n-1

    • 数组元素可以是任何类型,包括数组类型。

    • 数组类型是从抽象基类型 Array 派生的引用类型。由于此类型实现了 IEnumerableIEnumerable,因此可以对 C# 中的所有数组使用 foreach 迭代。

     //数组可以是任何C#类型(下面以int类型的数组为例)
                //一维数组,实例化(四种方式)
                //(1)
                int[] a = new int[3];
                a[0] = 1;
                a[1] = 2;
                a[2] = 3;
                //(2)
                int[] b = new int[3] { 1, 2, 3 };
                //(3)
                int[] c = new int[] { 1, 2, 3 };
                //(4)
                int[] d = { 1, 2, 3 };
                //注意:使用第四种方式时,一定要一步完成。意思是:声明和复制要在一句代码里,如果先申明,再以赋值则编译不通过,如下:
                int[] f;
                //f={1,2,3}; //Error
                f = new int[] { 1, 2, 3 }; //OK

                //二维或多维数组
                int[,] g = new int[2, 3];
                g[0, 0] = 11;
                g[0, 1] = 12;
                g[0, 2] = 13;

                g[1, 1] = 21;
                g[1, 2] = 22;
                g[1, 3] = 23;
                //多维
                int[, ,] h = new int[2, 3, 4];
                h[0, 0, 0] = 101;
                h[0, 0, 1] = 102;
                h[0, 0, 2] = 103;
                h[0, 0, 3] = 104; //4个(一组4个)

                h[0, 1, 0] = 111;
                h[0, 1, 1] = 112;
                h[0, 1, 2] = 113;
                h[0, 1, 3] = 114;

                h[0, 2, 0] = 121;
                h[0, 2, 1] = 122;
                h[0, 2, 2] = 123;
                h[0, 2, 3] = 124;//3小组(一组四个)

                h[1, 0, 0] = 201;
                h[1, 0, 1] = 202;
                h[1, 0, 2] = 203;
                h[1, 0, 3] = 204;

                h[1, 1, 0] = 211;
                h[1, 1, 1] = 212;
                h[1, 1, 2] = 213;
                h[1, 1, 3] = 214;

                h[1, 2, 0] = 221;
                h[1, 2, 1] = 222;
                h[1, 2, 2] = 223;
                h[1, 2, 3] = 224;//2大组(一组三小组)

                //当然它也可以这样声明
                int[,] i = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } };
                int[,] j = new int[,] { { 1, 2 }, { 3, 4 } };
                int[, ,] k = new int[2, 3, 4] {
                    {
                        {1,2,3,4},
                        {1,2,3,4},
                        {1,2,3,4}
                    },
                    {
                        {1,2,3,4},
                        {1,2,3,4},
                        {1,2,3,4}
                    }
                };
                int[, ,] l = new int[,,] { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };

                //交错数组 (数据元素还是数组)
                int[][] m = new int[3][];
                m[0] = new int[2];
                m[1] = new int[3];
                m[2] = new int[2];

                m[0][0] = 1;
                m[0][1] = 2;

                m[1][0] = 1;
                m[1][1] = 2;
                m[1][2] = 3;

                m[2][0] = 1;
                m[2][1] = 2;

                //当然它也可以这样实例化
                int[][] o = new int[3][] { new int[2] { 1, 2 }, new int[3] { 1, 2, 3 }, new int[2] { 2, 3 } };
                //或
                int[][] p = new int[][] { new int[] { 1, 2, 3 }, new int[] { 2, 3 }, new int[] { 1, 2, 3, 4 } };
                //或
                int[][] q =
                {
                    new int[] { 1, 2 },
                    new int[] { 2, 3, 4 },
                    new int[] { 2, 4, 5, 6 }
                };

                //交错多维混合数组
                //可以混合使用交错数组和多维数组。下面声明和初始化一个一维交错数组,该数组包含大小不同的二维数组元素:
                int[][,] jaggedArray4 = new int[3][,]
                {
                    new int[,] { {1,3}, {5,7} },
                    new int[,] { {0,2}, {4,6}, {8,10} },
                    new int[,] { {11,22}, {99,88}, {0,9} }
                };

    作者:邹毅
    如果觉得本文让你有所收获,请键点击右下角的 推荐 按钮
    本文版权归作者和博客园共有,欢迎转载,但必须保留原文连接。

  • 相关阅读:
    IDEA配置GIT
    夜游神安卓模拟器安装
    jira中使用eazyBI
    [Google Guava]学习--新集合类型Multimap
    [Google Guava]学习--新集合类型Multiset
    Java自己实现双向链表LinkList
    JVM学习之jstat使用方法
    Mycat+Mysql 插入数据报错 i[Err] 1064
    Windows配置mycat
    navicat cannot create file 文件名、目录名或卷标语法不正确 解决方法
  • 原文地址:https://www.cnblogs.com/joey0210/p/2672267.html
Copyright © 2011-2022 走看看