C#数组总结
1.数组的定义
数组实际上是由一个变量名称表示的一组同类型的数据元素。
数组是引用类型。
数组的所有元素必须是相同类型。
数组一旦创建,大小就固定了。C#不支持动态数组。
2.数组申明
一维数组申明:int[] arrary = new int[];
arrary[0] = 1 ;
arrary[1] = 1 ;
或者如下:
int[] arrary = new int[3] {1,2,3};
二维数组申明:int[,] arrary = new int[,] ;
int[,] arrary = new int[,]{{10,1},{11,1},{2,21}}
交错数组申明:int[][] arrary = new int[2][];
arrary[1] = 1 ;
arrary[2] = 2 ;
3.数组的索引和初始化
数组中每一个维度的索引都从0开始。
方括号内的索引在数组名称之后。
当数组创建后,每一个元素被自动初始化为类型的默认值。对于预定义类型,整数默认值是0 ,浮点型默认值是0.0 ,bool型默认值为false,引用类型默认值为null。
4.多维数组的代码例子
var arrary = new int[,]{{0,1,2},{10,11,12}};
for(int i = 0 ; i <arrary.GetLength(0); i++)
for (int j = 0; j < arrary.GetLength(1); j++)
Console.WriteLine("arrary[{0},{1}] is {2}" , i , j , arrary[i , j]);)
数组实例是从System.Arrary继承的对象。GetLength(int n)方法是获取数组中指定维度的长度。
5.Clone方法
克隆值类型数组会产生2个独立数组。
克隆引用类型数组会产生指向相同对象的两个数组。
Clone方法返回object类型的引用,它必须被强制转换为数组类型。代码例子如下:
int[] arrary = {1,2,3} ;
int[] arr = (int[]) arrary.Clone();//必须加强制转换符 (int[])