当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > C#中的数组和C++中数组的区别

ASP.NET
asp.net Linq TO Sql 分页方法
asp.net 用XML生成放便扩展的自定义树
asp.ent下合并两个结构相同的DataTable
asp.net 遍历repeater中的控件的几种方式
asp.net 处理原文件中过长的viewstate代码
asp.net下遍历页面中所有的指定控件的代码
获取创建Membership的数据库创建脚本
asp.net AJAX注册类
asp.net 处理F5刷新页面重复提交页面的一个思路
ASP.NET 缓存分析和实践浅析提高运行效率
asp.net 读取并显示excel数据的实现代码
ASP.NET中常用的用来输出JS脚本的类
ASP.NET中内嵌页面代码的一个问题
asp.net(C#)操作excel(上路篇)
一个基于Asp.Net MVC的权限方案
ASP.NET实例教程:51job网站地区选择功能
ASP.NET教程:友好的Html和JS适合SEO
ASP.NET教程:使用.ashx文件去除重复内容
ASP.NET做SEO:制作架构清晰和更新及时的网站地图
ASP.NET优化:Sql注入和Html注入的黑帽SEO

ASP.NET 中的 C#中的数组和C++中数组的区别


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 50 ::
收藏到网摘: n/a

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});
}
}