• C# 数组


    在C#中,数组实际上是对象,而不只是像C和C++中那样的可寻址连续内存区域

    数组常用属性

    Array.Rank       维数

    Array.Length     所有维度总个数

    Array.GetLength(int dimension)指定维度元素个数

    Array.GetLowerBound(int dimension)指定维度的下限

    Array.GetUpperBound(int dimension)指定维度的上限

     数组的使用通常为四个步骤:

    1、声明一个数组变量。

    2、为这个变量赋值(值为对应的数组对象,可以是新建一个数组对象,也可以是已有的对象。)

    3、为这个变量所引用的数组对象赋值。

    4、使用数组对象中的值。

    eg:

    int[] arr;  //步骤1

    arr = new int[10];  //步骤2,(其实新建的数组对象已有初始值,但通常不是我们想要的值,所以要通过步骤3赋予我们想要的值。)

    for(int i=0; i<10; i++)  //步骤3

        arr[i] = i;

    foreach (int v in arr)  //步骤4
      Console.Write(v);

    可以将某些步骤合在一个,这样可以省略一些代码。

    将1;2合在一起:

    int[] arr = new int[10];

    for(int i=0; i<10; i++)

        arr[i] = i;

     将2;3合在一起:

    int[] arr;

    arr = new int[10]{1,2,3,4,5,6,7,8,9,10};

    注:初使化列表以逗号(,)隔开,且列表中的个数必须与数组长度一致。

    这种情况下可以不设置数组的初始化大小,由数组元素确定。

    int[] arr;

    arr = new int[]{1,2,3,4,5,6,7,8,9,10};

    将1;2;3合在一起:

    int[] arr = new int[3]{1,2,3};

    or

    int[] arr = new int[]{1,2,3};

    这种情况下可以简写成:

    int[] arr = {1,2,3};

    多维数组

    int[,] arr = { { 1, 2 }, { 3, 4 } };  //这里的逗号个数等于维数减一; 没个维的大小要一样; 不允许C++那样通过arr[2]访问arr[1,0]的元素;

    int[,] arrr1 = new int[2,2] { { 1, 2 }, { 3, 4 } };//这里的大小可以省略,但不可只省略其中的一半。不可int[,] arrr1 = new int[2,] { { 1, 2 }, { 3, 4 } }或int[,] arrr1 = new int[,2] { { 1, 2 }, { 3, 4 } }

    交错数组

    //交错数组是数组的数组,因此其元素是引用类型,并初始化为null。
    int[][] jaggeArr1 = new int[3][];
    jaggeArr1[0] = new int[2]{1,2};
    jaggeArr1[1] = new int[3]{3,4,5};
    jaggeArr1[2] = new int[4]{3,4,5,6};
    int nRank = jaggeArr1.Rank;    //一维的,声明多维的交错数组:int[,][] jaggeArr;
    int nUpperBound = jaggeArr1.GetUpperBound(0);  //因为我们声明的是一维的,有三个数组元素的数组,所以这里的nUpperBound等于2;

    int[,][] jaggeArr2 = new int[2, 2][];  //声明了一个二维的,每维有两个数组元素的数组。

    int nRank = jaggeArr2.Rank;    //2
    int nUpperBound = jaggeArr2.GetUpperBound(0);  //1

     int[][,] jaggearr = new int[2][,];  //声明一个一维的,有两个多维数组元素的数组。

    //不能从元素初始化中省略new运算符,因为不存在元素的默认初始化。
    int[][] jaggeArr3 = new int[][]
    {
    new int[]{1,2},
    new int[]{2,3,4}
    };
    int c = jaggeArr3.Length;//2;两个数组元素。

  • 相关阅读:
    困扰我的c++语法
    C++ primer第三章作业
    渔夫捕鱼问题
    JAVA输入输出
    Python学习5——抽象,涉及抽象和结构、函数的自定义、参数、作用域、递归
    牛顿迭代法计算平方根
    Python学习4——条件、循环及其他语句总结
    Python补充1——Python的简单推导
    Python补充2——Python单行注释、整段注释使用方法
    Python补充3——Python中的 split() 函数
  • 原文地址:https://www.cnblogs.com/wrbxdj/p/5812678.html
Copyright © 2020-2023  润新知