C#中的数组和C++中数组的区别,C#中的数组和C++中数组的区别
【 tulaoshi.com - ASP.NET 】
C#中数组是引用类型,C#定义整型数组方式是:int [] intArray = {1,2,3};或int [] intArray = new int;而C++中定义整型数组的方式是:int intArray[] = {1,2,3};或int * intArray = new int;C#中的数组可以是一维的也可以是多维的,同样也支持矩阵和参差不齐的数组。注意:定义多维数组(矩阵)的方式是[,,]而定义多维“参差矩阵”的方式是[][]。另外,new关键字的使用并不一定表示对象是动态分配的(进入栈中)。下面是C#中(一维)多维数组常见的定义方式:int []a1; //定义一维数组int [,]a2; //定义二维数组int [,,]a3; //定义三维数组int []a1 = new int ; //定义一维数组深度int [,]a2 = new int [10,20]; //定义二维数组深度int [,,]a3 = new int [10,20,30]; //定义三位数组深度int []a1 = new int []{1,2,3}; //初始化int [,]a2 = new int [,]{{1,2,3},{4,5,6}};还可以定义“参差不齐”的数组:int [][]var = new int [];var[0] = new int[]{1,2,3};var = new int[]{1,2,3,4,5,6};var = new int[]{1,2,3,4,5,6,7,8,9};注意,int [,]a和int [][]a的区别:前者定义了一个二维固定数组,后者定义了一个二维可变数组。只是它们都还没被分配空间和初始化。int [][]var = new int;是错误的。以下错误:class Test{static void F(int []arr){}static void Main(){F({1,2,3});//出错!{1,2,3}并非有效表达式。}}以下正确:class Test{statci void F(int []arr){}static void Main(){F(new int []{1,2,3});}}来源:http://www.tulaoshi.com/n/20160129/1490569.html
看过《C#中的数组和C++中数组的区别》的人还看了以下文章 更多>>