0
点赞
收藏
分享

微信扫一扫

C#学习笔记-一维数组

夹胡碰 2023-01-31 阅读 158

一维数组

C#中的数组是强类型的,同一个数组只能存储相同类型的数据。 数组中的数据在内存中是连续存储的,数组是引用类型,存储在堆上,数组具有一定的长度。

1、定义数组

1.1 基本语法

一维数组定义的基本语法如下: 数据类型[] 数组变量名;

  • 数据类型:可以是任意的数据类型,内置数据类型和自定义数据类型都可以。
  • []:空的中括号表示要定义的一维数组,是定义数组的特殊标志。
  • 数组变量名:其实就是一个变量名,命名规则与C#标识符规则一样。 示例如下:
int[] intA;
double[] doubleA;
string[] strA;
decimal[] decA

以上只是定义了数组,并没有初始化,数组与变量是一样的,在使用之前必须初始化。

1.2 初始化

定义好的数组第一次赋值就是数组初始化,C#数组初始化需要使用 new 关键字。 初始化数组的基本语法如下: 数据类型[] 数组名 = new 数据类型[长度]; 语法说明如下:

  • new: 实例化数组,生成一个数组对象,并在内存中分配空间。
  • 数据类型: 赋值号(=)左右的数据类型必须一致。
  • 长度: 长度是指定义的数组能够存储多少个数据。

在C#中,数据是引用类型,使用new关键字初始化后,会在内存中根据指定的长度分配空间,并且给数组中的每个位置赋值默认值,如int类型的数组,默认值是0。 如下情况,定义和初始化数组:

int[] scores = new int[5]

以上定义了int类型的scores数组,并初始化长度为5的数组存储空间,表示该数组只能存储5个整数。 只要数组定义并初始化后,就可以在程序中使用了。

2、使用数组

2.1 默认值

在C#中赋值要根据索引(也称为下标)值来赋值,因为数组是个容器,按顺序一一存储。
可以将数组理解为具有许多格子的箱子,并给每个格子编上号,注意,在C#中,编号是从0开始的,这个编号称为索引值或下标值。
在C#中,当数组初始化后,在内存中就会分配空间,并且还会给数组中的每个索引位置初始化为默认值。 如下,数组初始化后默认值:

//定义和初始化数组
int[] scores = new int[5]
//打印第一个位置的值
Console.WriteLine(socres[0]);

由于scores数组是int类型,默认值为0,因此,打印索引值为1所在位置的值是0,其它位置的值也是0.

C#中,对于string类型的数组,默认值是null,double 类型的数组值,默认为0.0, bool类型的数组,默认值是 false。

2.2 赋值

在C#中给数组赋值,其实就是修改默认值,给数组赋值时,要使用数组名和索引值,索引值是从0开始。 给数组赋值的基本语法如下: 数组名[索引值] = 值; 在数组中,数据是按索引值顺序存储的,下面给scores赋值:

//定义和初始化数组
int[] scores = new int[5];
//赋值
scores[0] = 100;
scores[3] = 300;

2.3 取值

2.3.1 获取单个值

如果是一个一个的获取数组中的值,使用索引值即可。 获取单个值的语法如下: 数据类型 变量 = 数组名[索引值] 定义一个与数组类型完全一样的变量来接受:

//定义和初始化数组
int[] scores = new int[5];
//赋值
scores[0] = 100;
socres[3] = 300;
//取值
int sc = scores[3];

sc变量接收scores数组中索引值为3位置的值。

2.3.2 使用循环获取

在C#中可以使用循环语句一次性获取数组中所有的值:

//定义和初始化数组
int[] socres = new int[5];
//赋值
scores[0] = 100;
socres[3] = 300;

//使用for循环获取scores数组中所有的值
for(int i=0; i<5;i++)
{
  //变量的值从0到4递增
  //score数组共能存储5个整数,索引是从0开始,所以最大索引只能是4
  Console.WriteLine($'socres[{i}] = {socres[i]}");
}
举报

相关推荐

0 条评论