时间:2021-05-20
以下内容来自MSDN
数组是具有相同数据类型的项的有序集合。要访问数组中的某个项,需要同时使用数组名称及该项与数组起点之间的偏移量。在C#中,声明和使用数组的方法与Java有一些重要区别。
一维数组
一维数组以线性方式存储固定数目的项,只需一个索引值即可标识任意一个项。在C#中,数组声明中的方括号必须跟在数据类型后面,且不能放在变量名称之后,而这在Java中是允许的。因此,类型为integers的数组应使用以下语法声明:
int[]arr1;
下面的声明在C#中无效:
//intarr2[];//compileerror
声明数组后,可以使用new关键字设置其大小,这一点与Java相同。下面的代码声明数组引用:
int[]arr;
arr=newint[5];//createa5elementintegerarray
然后,可以使用与Java相同的语法访问一维数组中的元素。C#数组索引也是从零开始的。下面的代码访问上面数组中的最后一个元素:
System.Console.WriteLine(arr[4]);//accessthe5thelement
初始化
C#数组元素可以在创建时使用与Java相同的语法进行初始化:
int[]arr2Lines;
arr2Lines=newint[5]{1,2,3,4,5};
但C#初始值设定项的数目必须与数组大小完全匹配,这与Java不同。可以使用此功能在同一行中声明并初始化C#数组:
int[]arr1Line={1,2,3,4,5};
此语法创建一个数组,其大小等于初始值设定项的数目。
在程序循环中初始化
在C#中初始化数组的另一个方法是使用for循环。下面的循环将数组的每个元素都设置为零:
int[]TaxRates=newint[5];
for(inti=0;i<TaxRates.Length;i++)
{
TaxRates[i]=0;
}
交错数组
C#和Java都支持创建交错(非矩形)数组,即每一行包含的列数不同的数组。例如,在下面的交错数组中,第一行有四项,而第二行有三项:
int[][]jaggedArray=newint[2][];
jaggedArray[0]=newint[4];
jaggedArray[1]=newint[3];
多维数组
可以使用C#创建规则的多维数组,多维数组类似于同类型值的矩阵。虽然Java和C#都支持交错数组,但C#还支持多维数组(数组的数组)。
使用以下语法声明多维矩形数组:
int[,]arr2D;//declarethearrayreference
float[,,,]arr4D;//declarethearrayreference
声明之后,可以按如下方式为数组分配内存:
arr2D=newint[5,4];//allocatespacefor5x4integers
然后,可以使用以下语法访问数组的元素:
arr2D[4,3]=906;
由于数组是从零开始的,因此此行将第四行第五列中的元素设置为906。
初始化
可以使用以下一种方法,在同一个语句中创建、设置并初始化多维数组:
int[,]arr4=newint[2,3]{{1,2,3},{4,5,6}};
int[,]arr5=newint[,]{{1,2,3},{4,5,6}};
int[,]arr6={{1,2,3},{4,5,6}};
12下一页阅读全文
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
原则:1、锯齿数组首先是二维数组,第一维的维数是确定的2、之所以在C#中能够出现灵活的锯齿数组,是因为,C#的数组是引用类型(本质上存放的是指针)根据这个引用类
本文实例讲述了C#二维数组基本用法。分享给大家供大家参考,具体如下://定义数组string[,]classes=newstring[5,2];//正确的C#二
C#数组有很多值得学习的地方,这里我们主要介绍C#交错数组,包括介绍一维数组例、二维数组例、C#交错数组等方面。数组是在我们编程当中经常用到的,想来大家对数组都
本文实例讲述了C#中数组段用法。分享给大家供大家参考。具体分析如下:1.数组段说明①结构ArraySegment表示数组的一段。如果某方法应返回数组中的一部分,
在C#中数组Array,ArrayList,泛型List都能够存储一组对象,但是在开发中根本不知道用哪个性能最高,下面我们慢慢分析分析。一、数组Array数组是