int[] 一维数组

int[,]  二维数组

int[] []  交错数组 又称“数组的数组”


  一维数组声明与初始化

声明:  int[] a = new int[];

声明与初始化:  int array1 = new int[] {1,2,3,4};

         int array1 = {1,2,3,4};    //  快捷声明和初始化的方式

不初始化的情况下声明数组变量,但必须使用 new 运算符向此变量分配数组

    int[] array3;

    array3 = new int[] { 1, 3, 5, 7, 9 };   // OK

    // array3 = {1, 3, 5, 7, 9};     // Error

 

int[,]   二维数组        int[, , , ] 三维数组            多维数组
 
声明  int[,]  array = new int[2,4]    int[,,,] array2 = new int[2,5,4]
声明初始化   int array2D = new int[,] { [1,2}, {3,4}, {3,5}}
        int[,] array2Da = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 } };
 
       int[, ,] array3D = new int[,,] { { { 1, 2, 3 }, { 4, 5, 6 } }, { { 7, 8, 9 }, { 10, 11, 12 } } };
 
       int[, , ] array3D =new int[2,2,3]{ { { 1, 2, 3 }, { 4, 5, 6 } }, { { 7, 8, 9 }, { 10, 11, 12 } } };
 
如果选择在不初始化的情况下声明数组变量,则必须使用 new 运算符将数组赋予变量
    int[,] array5;
    array5 = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; // OK
    //array5 = {{1,2}, {3,4}, {5,6}, {7,8}};   // Error
 
 

交错数组是元素为数组的数组。 交错数组元素的维度和大小可以不同。

声明:

int[][] jaggedArray = new int[3][];
 
初始化:
    jaggedArray[0] = new int[5];
       jaggedArray[1] = new int[4];
       jaggedArray[2] = new int[2];
 
每个元素都是一维整数数组。 第一个元素是由 5 个整数组成的数组,第二个是由 4 个整数组成的数组,而第三个是由 2 个整数组成的数组。
 

     int[][] jaggedArray = new int[][]{

    new int[]{1,3,4,5},

    new int[] {0,2,4},

    new int[] {2,4}

    };

或者

 

     int[][] jaggedArray ={

    new int[]{1,3,4,5},

    new int[] {0,2,4},

    new int[] {2,4}

    }


  多维数组与交错数组 理解上是没有多大的差异的,交错数组实际上实现了多维数组的差异化,使用的时候更加自由。

  在C#编译里面,多维数组和差异数组是无法隐性转换的。 作为参数的时候要注意统一。


微软使用手册        https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/arrays/single-dimensional-arrays

C# int[,] 和 int[][]的更多相关文章

  1. int main( int argc, char **argv)

    1.参数 (有时参数是void) argc是程序运行时参数个数 argv是存储参数的数组,可以用char* argv[],也可以用char **argv. 例如编译一个hello.c的程序 1 #in ...

  2. C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别

    转自:http://www.cnblogs.com/leolis/p/3968943.html 在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为 整型(int)来讲, ...

  3. int(*f)(int)

    int(*f)(int): 为指向函数的指针变量的定义方法,其中f为指向函数的指针变量,第一个int为函数返回值类型,第二个int为函数的形参类型.

  4. what is difference in (int)a,(int&)a,&a,int(&a) ?

    This interview question come from a famous communication firm of china. : ) #include <iostream> ...

  5. C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别 <转>

    作者:Statmoon 出处:http://leolis.cnblogs.com/   在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为整型(int)来讲,有四种方法 ...

  6. the difference between const int *, int * const, int const *

    Some people may be confused about the sequence of const and * on declaration in C++/C, me too. Now I ...

  7. (int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别

    C#中(int).int.Parse().int.TryParse()和Convert.ToInt32()的区别   原文链接:http://www.cnblogs.com/leolis/p/3968 ...

  8. int main(int argc,char* argv[])详解

    argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数, 比如:       int   main(int   argc,   ...

  9. 35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n

      35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现in ...

  10. int main(int argc, char * argv[]) 里的异常处理

    #import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int argc, char * argv[]) { ...

随机推荐

  1. 静态IP设置

    先查看自动网络的ip地址,然后设置 cmd进入DOS输入命令:ipconfig /all 设置固定IP

  2. maven多个web模块进行合并

    原文地址: https://blog.csdn.net/u011666411/article/details/77160907

  3. Groovy 设计模式 -- 装饰器模式

    http://groovy-lang.org/design-patterns.html#_chain_of_responsibility_pattern 装饰器模式, 起到美化原始对象的作用. 一个被 ...

  4. ThetaSome_ThetaAll子查询

    基本语法 表达式 θ some(子查询) 表达式 θ all (子查询) 语法中,θ是比较运算符 <,>,>=,<=,=,<> 如果表达式的值至少与子查询的结果的某 ...

  5. RT throttling分析【转】

    转自:https://blog.csdn.net/u012728256/article/details/72639612 Linux上调度策略为SCHED_FIFO的实时进程是根据优先级抢占运行的.当 ...

  6. php页面编码设置

    php的header来定义一个php页面为utf编码或GBK编码 php页面为utf编码 header("Content-type: text/html; charset=utf-8&quo ...

  7. ES--06

    第51.初识搜索引擎_上机动手实战多搜索条件组合查询 课程大纲 GET /website/article/_search{ "query": { "bool": ...

  8. python 打印Linux中文编码字符

    2018-10-12 12:02:15 星期五 python -c "print '\346\234\215\345\212\241\345\231\250\346\217\220\344\ ...

  9. OpenCV使用中的一些总结

    一.threshold阈值操作 1.阈值可以被视作最简单的图像分割方法.例如,从一副图像中利用阈值分割出我们需要的物体部分,这样的图像分割方法基于图像中的物体与背景之间的灰度差异. 2.thresho ...

  10. JavaScript高级程序设计(读书笔记)(一)

    本笔记汇总了作者认为“JavaScript高级程序设计”这本书的前七章知识重点,仅供参考. 第一章 JavaScript简介 JavaScript发展简史: 1995年,JavaScript诞生 19 ...