Array 类是支持数组的语言实现的基类。但是,只有系统和编译器能够从 Array 类显式派生。用户应当使用由语言提供的数组构造。
注:不包含交错数组的内容。
1.数组的申明及赋值
既可以声明时指定数组的大小,也可以不指定大小,但数组是必须指定大小,要在什么地方指定大小看个人习惯了。
Type[] arrayName ;
int [] array; // 声明一个整型的一维数组
int [,] array; // 声明一个整型的二维数组
int [,] array = {{ 1 , 2 },{ 1 , 2 }} // 声明一个两行两列的二维数组
int [,] array = new int [,]{{ 1 , 2 },{ 1 , 2 }} /* 使用NEW关键字声明了一个两行两列的二维数组 */
int [,] array = new int [ 2 , 2 ]{{ 1 , 2 },{ 1 , 2 }} // 同上
float [] array; // 浮点型数组
/* 除了值类型外,还可以是引用类型,或者自定义类型 */
Myclass[] array; // 这里的Myclass是自定义的一个类
Mystruct[] array; // 这里的Mystruct是一个结构
/* 当然Type也可以是数组类型,但这个是交错数组的范畴 */
int [] array; // 声明一个整型的一维数组
int [,] array; // 声明一个整型的二维数组
int [,] array = {{ 1 , 2 },{ 1 , 2 }} // 声明一个两行两列的二维数组
int [,] array = new int [,]{{ 1 , 2 },{ 1 , 2 }} /* 使用NEW关键字声明了一个两行两列的二维数组 */
int [,] array = new int [ 2 , 2 ]{{ 1 , 2 },{ 1 , 2 }} // 同上
float [] array; // 浮点型数组
/* 除了值类型外,还可以是引用类型,或者自定义类型 */
Myclass[] array; // 这里的Myclass是自定义的一个类
Mystruct[] array; // 这里的Mystruct是一个结构
/* 当然Type也可以是数组类型,但这个是交错数组的范畴 */
2.对多维数组的理解
/*创建一个三维数组*/
int
[,,] IntArrays
=
new
int
[
4
,
3
,
2
];
这里的4表示有4个二维数组;3表示有3个一个维数组;2表示一维数组的长度为2 ;
C#中所有类型的数组都继承至Array类,且数组是引用类型。
数组的元素可以是值类型也可以是引用类型。
一维数组和泛型集合他们在功能上有些相似。但数组的长度是固定,泛型集合却可以动态添加、移除元素。在.NET2.0版本下限为0的一维数组自动实现了IList<T>接口。