科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道C#中的数组和C++中数组的区别

C#中的数组和C++中数组的区别

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

C#中数组是引用类型,C#定义整型数组方式是: int [] intArray = {1,2,3}; 或 int [] intArray = new int[10];

作者:中国IT实验室 来源:中国IT实验室 2007年9月7日

关键字: C++ C#

  • 评论
  • 分享微博
  • 分享邮件

 C#中数组是引用类型,C#定义整型数组方式是:

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

int [] intArray = new int[10];

而C++中定义整型数组的方式是:

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

int * intArray = new int[10];

    C#中的数组可以是一维的也可以是多维的,同样也支持矩阵和参差不齐的数组。

    注意:定义多维数组(矩阵)的方式是[,,]而定义多维“参差矩阵”的方式是[][]。另外,new关键字的使用并不一定表示对象是动态分配的(进入栈中)。

下面是C#中(一维)多维数组常见的定义方式:

int []a1;   //定义一维数组

int [,]a2;  //定义二维数组

int [,,]a3; //定义三维数组

int []a1 = new int [10];       //定义一维数组深度

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 [3][];

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

var[1] = new int[]{1,2,3,4,5,6};

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

注意,int [,]a和int [][]a的区别:前者定义了一个二维固定数组,后者定义了一个二维可变数组。只是它们都还没被分配空间和初始化。int [][]var = new int[3][4];是错误的。

以下错误:

class Test

{

static void F(int []arr){}

static void Main()

{

F({1,2,3});//出错!{1,2,3}并非有效表达式。

}

}

http://dotnet.chinaitlab.com/CSharp/720003.html

以下正确:

class Test

{

statci void F(int []arr){}

static void Main()

{

F(new int []{1,2,3});

}

}

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章