• C#多维数组的属性获取方法及操作注意


    C#提供了多维数组的各种属性获取方法,但是其表达形式与我们的习惯不尽相同,因此,也是花了一些脑筋,写了一些代码测试才搞明白的,现分享给大家:

    1、一维数组

    一维数组是一个一行多列的数据组合,待会在二维数组里说明。

    2、二维数组

    我们定义一个如下二维数组:

    double[,] array1 = new double[3, 6];//2维数组

    其形象结构如下,这里:维数=2;第1个维度是行,这里为3;第二个维度是每行的列数,这里为6

    012345
    第0行
    第1行
    第2行

    这里,用代码获取数组的属性及结果如下(索引都是从0开始):

    1. double[,] array1 = new double[3, 6];//2维数组
    2. int a = array1.Rank;//维数=2
    3. a = array1.GetLength(0);//获取第0维的元素个数=3
    4. a = array1.GetLength(1);//获取第1维的元素个数=6
    5. a = array1.GetLowerBound(0);//获取第0维的第一个元素索引=0
    6. a = array1.GetUpperBound(0);//获取第0维的最后一个元素索引=2
    7. a = array1.GetLowerBound(1);//获取第0维的第一个元素索引=0
    8. a = array1.GetUpperBound(1);//获取第1维的最后一个元素索引=5
    9. a = array1.Length;//获取总元素数量=18

     3、三维数组

    我们定义一个如下三维数组:

    double[,,] array2 = new double[2, 3, 6];//3维数组

    其形象结构如下,这里:维数=3;第1个维度层,这里为2,第2个维度是行,这里为3;第3个维度是每行的列,这里为6

     

    1. double[,,] array2 = new double[2, 3, 6];//3维数组
    2. a = array2.Rank;//维数=3
    3. a = array2.GetLength(0);//获取第0维的元素个数=2
    4. a = array2.GetLength(1);//获取第1维的元素个数=3
    5. a = array2.GetLength(2);//获取第2维的元素个数=6
    6. a = array2.Length;//获取总元素数量=36

    4、更多维数

    更多维数也是如此理解,只不过是在定义里多加几个逗号而已[,,,,,,,],但是要注意:元素个数是指数级上升的。

    5、操作注意

    • 数组的操作比列表快很多,如果可能,就用这种数组结构。
    • 遍历数组的高效方法是多层for循环,维序号越高的越要放内循环(见下),颠倒过来则效率降低:
      1. for(int i = 0; i < 3; i++)
      2. {
      3. for(int j = 0; j < 6; j++)
      4. {
      5. array1[i, j] = -1;
      6. }
      7. }

  • 相关阅读:
    ArcGIS 10.5安装教程!
    20221116 今天的世界发生了什么
    CentOS 7防火墙配置
    十三. 实战——常用依赖的作用
    SD NAND(贴片式TF卡)坏块管理技术问答
    七夕节赚取徽章啦
    集成学习 #数据挖掘 #Python
    怎么将自己拍摄的视频静音?详细步骤教会你~
    php apache 后台超时设置
    C++ 数字
  • 原文地址:https://blog.csdn.net/chengjl8/article/details/125468469