首先 数组就是一组数据,本身就是一种类型(引用类型),但它中存储的元素(项)也有数据类型所以可以说是复合类型。
数组可以分为一维数组,多维数组和交错数组,最常用的就是一维数组。
一维数组的定义:数据类型+[], 二维数组的定义:数组类型+[,] 数数组的长度可以明确指出,也可以不指定,没有初始化时,需要指定长度,有初始化时,长度可以用省略。例如:int[] int1=new [3]; int [] int2 =new [] {1,2,3} 还可以通过索引进行初始化,索引从0开始,到长度-1结束,索引不能越界 . 例如:int[1]=1; int[2]=2; int[3]=3; 数组一但创建,长度基本上是固定的,所以数组的Length长度值是只读,不能修改的。
在C#中数组支持支持数组中存储不同数据类型的元素。如:object[] object[] objects = new object[] { 1, 2, 'a', "hello", false, new object() { } };
创建数组实例后,其每个元素都有默认值,string的为空字符串,int的为0,bool的为 false,引用类型的为 null;
判断数组是几维,就看[]中逗号,0个逗号是一维数组,1个就是二维,依次类推。
数组不能定义成常量。
对数组的基本操作(重要)常用的API:静态Array,动态
1.追加 array.Append()
在数组的末尾再追加一个元素 array = array.Append();()里面填写要追加的元素。
2.循环 Array.ForEach()
数组的循环可以用for、while、foreach也可以用Array.ForEach()。实例: Array.ForEach(array, (item) =>
{
Console.WriteLine(item);
}); 其中array表示要循环的数组,item定义的一个变量,用来存放数组中的元素。
反转顺序,可以直接调用Array.Reverse(array);影响原数组,没有返回值
排序,默认按正序,可以是用Array.Sort() 例如:
int[] i100 = { 7, 5, 8, 3, 6 };
Array.Sort(i100);
foreach (var item in i100)
{
Console.WriteLine(item);
}
3.修改
可以同过索引直接修改数组:arr[0] = 10; // 通过索引修改,注意影响原数组。
也可以通过使用Array.Clear()将数组中指定范围的元素修改为默认值
4.查询
可以使用array.Where查询满足条件的元素,例如:var filterArr = arr.Where((item) =>
{
return item > 100;
}).ToArray();
也可以是用 Array.Find和Array.FindAll去进行查询。例如:
Student oneStudent = Array.Find(students2, (item) =>
{
// item===一个学生对象
return item.Name.EndsWith("2");
});
Student[] stus = Array.FindAll(students2, (item) =>
{
// item===一个学生对象
return item.Name.EndsWith("张");
});
Array.Exitst判断数组中是否存在满足条件的项,存在返回true,否则返回false。
bool result1 = Array.Exists<string>(array, (item) =>
{
bool r = item.StartsWith("a");
return r;
});