目录
一、枚举
(一)什么是枚举?
是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一个枚举。
二、结构体
三、数组
(一)什么是数组?
所谓数组,是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 [1] 这些无序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合。
(二)为什么要有数组?
与结构体一样,都是存储/声明多个变量的集合(容器),但是数组是:一次性声明多个相同类型的变量
(三)数组的声明方式:4种
//第一种:
int[] nums1 = new int[] { 1, 2, 3 }; //声明一个名为numbers的数组,大括号中有几个数,数组就有几个值。这里数组有3个值:2、3、4
//第二种
int[] nums2 = new int[10]; //长度为10([ ]中的值表示数组的长度),(下标)索引为0-9(下标永远是从0开始,到 Maxsize-1), int类型
//第三种;
int[] nums3 = new int[3] { 1, 2, 3 }; //一个萝卜一个坑,[ ]里边规定了长度为几,大括号就确定有几个数
//第四种:
int[] nums4 = { 1, 2, 3, 4 };//省略的写法,有4个值
注意:[]里边的值表示的是数组的长度,而{}里边表示的是数组的值(或者说是初始值)
(四)数组的赋值、取值
1. //数组的存值
nums[8]= 100; //在下标为8的地方存了一个数100;
nums[5] = 23; //在下标为5的地方存了一个数23
注意:数组的存值和取值都是通过 下标或者索引来进行赋值和取值的
2.若数组容量特别大,采用这种赋值/取值方式太麻烦,所以可以使用For循环对数组进行赋值和取值:
//赋值
for (int i = 0; i < 5; i++)
{
nums[i] = 10;
}
//取值
// 遍历------就是把所有的都过一遍,可以给每一个数组下标赋值和取值
for (int i = 0; i < 5; i++)
{
Console.WriteLine(nums[i]);
}//这样赋值,实现的取值是任何下标空间存的都是10
Console.ReadKey();
也可以实现让不同的空间赋值不同:
//自己拓展---实现每个i的空间比上一个i数值大10
int[] nums = new int[5];//索引是从0-4
//赋值
int s = 0;
for (int i = 0; i < 5; i++)
{
nums[i] = s + 10;//nums[i]=nums[i]+10;
//s += nums[i];//因为nums[i]是变量,这样实现,s也一直变化,是两个变量在相加赋值
s += 10;//让s每次加一个常量10,让每次i+1的时候,nums[i]与增加10的s相加,这样实现每个i比上一个i加10
}
//取值
for (int i = 0; i < 5; i++)
{
Console.WriteLine(nums[i]);
}
Console.ReadKey();
数组不仅可以存储int类型的数据,几乎任意类型都可以声明数组,但是同一个数组只能存储多个相同数组类型的数据。
了解了枚举、结构体、数组这三种“容器”的基本知识,我们应该在以后的学习中多多使用这种集合的形式,比较方便代码的编写以及提高代码的可复用性。数组的应用的也很多,一般用数组解决的问题有:求平均值,求最大值,求和,排序等问题,请见下篇博客~~~