目录
一、定义
数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。数组分为一维数组、多维数组、交错数组三大类。
声明数组变量并不是声明 number0、number1、...、number99 一个个单独的变量,而是声明一个就像 numbers 这样的变量,然后使用 numbers[0]、numbers[1]、...、numbers[99] 来表示一个个单独的变量。数组中某个指定的元素是通过索引来访问的。
所有的数组都是由连续的内存位置组成的,最低的地址对应第一个元素,最高的地址对应最后一个元素。
二、C#中如何使用数组
1、声明数组
为什么要声明呢??可以理解为数组需要使用一片连续的内存空间,而声明就像打招呼(say hello),告诉内存,我现在需要一片连续的内存空间。举一个简单的例子,我们可以把数组理解为去酒店办理入住,而数组的声明则是告诉酒店前台,我们需要办理入住。
变量类型[] 数组名;
int[] arr1;
2、初始化数组
但是只是告诉前台我们需要入住,当然是不够的,我们还需要告诉前台需要多少个房间。所以声明是不够的,我们还需要开辟这个连续的内存空间,这就是数组的初始化啦。
// 变量类型[] 数组名 = new 变量类型[数组的长度];
int[] arr2 = new int[5]; //这种方式 相当于开了5个房间 但是房间里面的int值默认为0
// 变量类型[] 数组名 = new 变量类型[数组的长度]{内容1,内容2,内容3,.......};
int[] arr3 = new int[5] { 1, 2, 3, 4, 5 };
// 变量类型[] 数组名 = new 变量类型[]{内容1,内容2,内容3,.......};
int[] arr4 = new int[] { 1,2,3,4,5,6,7,8,9}; //后面的内容就决定了 数组的长度 “房间数”
// 变量类型[] 数组名 = {内容1,内容2,内容3,.......};
int[] arr5 = { 1,3,4,5,6};//后面的内容就决定了 数组的长度 “房间数”
3、数组的使用
(1)初始化
int[] array = { 1, 2, 3, 4, 5 };
(2)数组的长度
// 数组变量名.Length
Console.WriteLine(array.Length);
(3)获取数组元素
//数组中的下标和索引 他们是从0开始的
//通过 索引下标去 获得数组中某一个元素的值时
//不能越界 数组的房间号 范围 是 0 ~ Length-1
Console.WriteLine(array[0]);
Console.WriteLine(array[2]);
Console.WriteLine(array[4]);
(4)修改数组元素
array[0] = 99;
Console.WriteLine(array[0]);
(5)遍历数组
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array[i]);
}
(6)增加数组元素
// 数组初始化以后 是不能够 直接添加新的元素的
int[] array2 = new int[6];
//搬家
for (int i = 0; i < array.Length; i++)
{
array2[i] = array[i];
}
array = array2;
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array[i]);
}
array[5] = 999;
(7)删除数组元素
// 数组初始化以后 是不能够 直接删除元素的
// 搬家的原理
int[] array3 = new int[5];
//搬家
for (int i = 0; i < array3.Length; i++)
{
array3[i] = array[i];
}
array = array3;
Console.WriteLine(array.Length);
(8)查找数组元素
// 99 2 3 4 5
// 要查找 3这个元素在哪个位置
// 只有通过遍历才能确定 数组中 是否存储了一个目标元素
int a = 3;
for (int i = 0; i < array.Length; i++)
{
if( a == array[i] )
{
Console.WriteLine("和a相等的元素在{0}索引位置", i);
break;
}
}
三、总结
本篇文章讲解了一维数组的基本用法,一定要掌握数组的基础操作:增、删、改、查。记住,所有的变量类型都可以声明为数组,只是本篇文章使用的时int类型的数组。数组在unity开发中多用于批量存储统一类型变量的容器,比如所有的怪物、所有的玩家等。希望本篇文章可以帮助大家理解数组的定义以及基本用法
3081

被折叠的 条评论
为什么被折叠?



