C#一维数组

  • Post author:
  • Post category:其他

概述

之前我们提到了集合,还提到了数组也是集合,要使用foreach语句来循环集合中的数据,当然也可以使用for循环,但foreach性能更好。
可以将数组理解为是一个容器,

如:学校里的每个班级就是一个数组,每个学生就是数组中的每一项。由于数组是用下标值(也称为索引号或位置号)来存放的,下标值是从0开始的。所以班里第1排第1个学生的下标值就是0,第2个学生下标值就是1,依次类推。

数组的定义

数组只能用来存储类型相同(强类型的)的数据,如我们的班级,只能用来存放学生,不能存放别的。
数组在内存中是按定长连续来存储的。具有相同数据类型的数据元素的有序集合。
可以使用任何数据类型定义数组,基本语法如下:
数据类型[] 数组名;
如:

//定义int类型的数组
int[] intArray1;
//定义double类型的数组
double[] doubleArray1;
//定义string类型的数组
string[] strArray1;

数组的定义比变量的定义只是多了一个[]符号。

数组的赋值和初始化

数组与变量是一样的,定义好的数组必须初始化后才可以使用。数组的初始化需要使用new关键字,因为数组是引用类型的。
数据类型[] 数组名=new 数据类型[长度];
如:

int[] intArray1;
intArray1 = new int[10];
也可以定义时初始化:
int[] intArray1= new int[10];

这里定义的intArray1数组初始化为长度为10的int类型的数组,长度10表示该数组只能存储10个整数。下标的最大值为9,也就是长度-1。
对于int类型的数组,初始化后数组中的每个值就是0。
double 是0.0 bool是false,string是null。

数组赋值

初始化好的数组就可以赋值了,赋值时要使用下标值。如下:

int[] intArray1;
intArray1 = new int[10];
intArray1[0] = 10;
intArray1[1] = 11;
intArray1[2] = 12;
intArray1[3] = 13;
intArray1[4] = 14;
intArray1[5] = 15;
intArray1[6] = 16;
intArray1[7] = 17;
intArray1[8] = 18;
intArray1[9] = 19;

赋值时,数组的第1个值是使用下标值为0的位置。

数组取值

给数组赋过值之后,就可以获取其中的值了,我们在程序中使用数组,也是这个道理,先给数组赋值,然后经过处理后再获取。
要获取数组中的值,也是根据下标值进行的,下标值为0获取数组中第1个值,依次类推。 //获取数组中第3个值

int intA = intArray1[2];//12
Response.Write("intArray1数组中第3个值是:"+intA);

在这里插入图片描述
那要如何获取数组中的所有值呢?可以使用for循环:

for (int i = 0; i <= 9; i++)
{
    Response.Write(intArray1[i] + ",");
}

由数组都是从下标值0开始的,所以在for循环中,循环变量i的初始值就是0。
在这里插入图片描述
还可以使用foreach循环,性能好:

foreach (int i in intArray1)
{
    Response.Write(i + ",");
}

使用foreach循环数组时:

  1. 定义的循环变量i的数据类型必须与数组的类型一致。
  2. in是固定的。
  3. in后面是要循环的数组名。
    注意:
  • 数组在内存中是有固定大小的,并且是连续的。
  • 数组存储相同类型的数据。
  • 下标值从0开始,最大的下标值是数组长度-1。
  • 我们这里定义的数组是一维,还有多维的数组。
  • 数组是引用类型,需要使用new关键字初始化,初始化后数组中的每项都具有默认值。

版权声明:本文为BigCherryss原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。