数组 是一种数据结构,其中包含许多通过计算索引访问的变量。数据中的变量(亦称为数组的 元素 均为同一种类型,我们将这种类型称为数组的 元素类型。
数组类型是引用类型,声明数组变量只是为了引用数组实例预留空间。实际的数组实例时在运行时使用new运算符动态创建而成的。new运算符指定了新数组实例的***长度***。
假设数组长度为Length,那么元素的索引在0至Length-1之间.
下面看一个简单的打印示例:
class Program
{
static void Main ( string [ ] args )
{
int [ ] array = new int [ 10 ];//10是指定数组array长度
for (int i = 0 ; i < array. Length-1 ; i++)
{
array [ i ]=i*i;//利用数组的索引给数组array赋值
}
for (int i = 0 ; i < array. Length-1 ; i++)
{
//下面是4种打印方法 打印出来的值都是一样的 大家不懂的可以看看
Console. WriteLine ( $"array[{i}]={array [ i ]}" );
Console. WriteLine ( $"array[{i}]="+array [ i ] );
Console. WriteLine ( "array"+"["+i+"]"+"="+array [ i ] );
Console. WriteLine ( "array[{0}]={1}" , i , array [ i ] );
}
}
}
上面的示例创建一维数组,并对其执行运算。C#还支持 多维数组,数组类型的维数(亦称为数组类型的 秩)是1与数组类型方括号内的逗号的数量相加的结果。下面我们看一下示例:
int[] a1 = new int[10];//一维数组 逗号数量为0 所以是1+0=1
int[,] a2 = new int[10, 5];//二维数组 逗号数量是1 所以是1+1=2
int[,,] a3 = new int[10, 5, 2];//三维数组 逗号数量是2 所以是1+2=3
a1数组包含10个int类型的元素,a2数组包含50个int类型的元素(10x5),a3数组包含100个int类型的元素(10x5x2)。
数组的元素类型可以是任意类型(包括数组类型)。包含数组类型元素的数组有时称为 交错数组,下面我们就看一下
交错数组的示例:
int[][] a = new int[3][];
a[0] = new int[10];
a[1] = new int[5];
a[2] = new int[20];
第一行创建包含三个元素的数组,每个元素都是int[]类型,并且初始值为null。后面的代码将这个三个元素初始化为引用长度不同的各个数组实例。
通过new运算符,可以时候用 数组初始值设定项 指定数组元素的初始值。下面一个示例分配int[],并将其初始化为包含三个元素:
int[] a = new int[] {1, 2, 3};//第一种方法
int[] a = {1, 2, 3};//第二种方法
我们再看一下原理代码:
int[] t = new int[3];
t[0] = 1;
t[1] = 2;
t[2] = 3;
int[] a = t;