一、数组的创建
int [] a; \\声明中不能指定长度
与C语言中的数组不同,在数组的声明中,并不用指定长度。原因很简单,因为数组是一个引用对象,声明只是在栈空间分配一小块储存地址的内存。
int [] a = new int [100];
数组的实例创建才需要指定长度,这时系统会在堆空间分配相应的内存。
int [,] a =new int [ 2, 10];\\二维数组的创建
int [] [] b = new int [2] [ ];\\交错数组
b [0] = new int [2];
b [1] = new int [4];
b [2] = new int [100];
交错数组与二维数组不同的是,交错数组的每一个维度的长度可以不一样,但是二维数组的则是一样的。
二、常用的数组函数
Array.Copy()
int[] a = { 1, 2, 3, 4 };
int[] b={2,3,4,5,7,8,9,0};
Array.Copy(a, b, b.Length);
Console.Read();
Array.Copy(源数组,目标数组,复制的长度)
也可以是
Array.Copy(源数组,开始复制的位置,目标数组,目标数组开始粘贴的位置,复制长度)
Array.Copy(a,0, b,0, b.Length);
将上面的第三局改写成这一句效果是一样的
a.Length\\每个数组都含有的属性,即数组的长度,这个方法写在数组的类中
foreach
int[] abb = new int[10];
int count =0;
foreach(int a in abb)
{
count++;
}
C#中的foreach语句就有类似与python中 for的迭代
Array.IndexOf(数组名字,查找元素)
int indx = Array.IndexOf(a,2);
Array.Sort(数组名字)
Array.Sort(a)
Array.resize(数组名,数组新长度)重新定于数组大小,相当于c中的realloc
int[] ass = new int[5];
int i = 0;
Array.Resize(ref ass, 7);
ass[5] = 5;
List数组!!!!全新数组,他不受长度的限制
List<int> lnum = new List<int>();
lnum.Add(3);
lnum.Insert(3,2);
还有一点非常重要:老师说的,先打注释,多写函数