C#中的一维数组

什么是数组

  1. 数组是用来将相同的数据类型存储在存储单元里组成的构造类型。
  2. 如:整型数组:{13,29,13,192}
    如:浮点型数组:{1.3,3.9,3.14}
  3. 数组中的每一个成员,称之为“数组元素”

如何定义一维数组

  • 数据类型[ ] 数组名称;如:int[ ] numberList; float[ ] data;
  • 数组定义之后,需要初始化,然后才能够使用
    好,那下面我们讲讲数组的初始化

一、数组的动态初始化

1int[] numberList = new int[5];
这是一个整型数组,表示数组中有五个元素,但没有对元素赋值,所以每个元素都是int的默认值:0

  • 注意:
    Int、float的默认值是0
    Bool的默认值是false
    Char的默认值是’\0’
    String的默认值是””

2float[] data = new [3]{10.1f,4.4f,5.6f};
这是一个浮点型数组,表示数组中有三个元素。第一个是10.1,第二个是4.4,第三个是5.6

3string[] data = new []{“albert”,”tom”};
这是一个字符串数组,没有确定数组中有多少元素,后面实际定义了两个元素。

二、数组的静态初始化

如:int[] myArr = {2,3,4,5,6,7};
没有new关键字,直接赋予元素值
注意:在这种情况下,不能将数组定义和静态初始化分开

好,数组的初始化说完,我们来说说怎么访问数组元素

三、如何访问数组元素

  • 通过“数组名称+下标”的方式

  • 如:myArr[0]/data[5] 数组下标从“0”开始,数组下标不能超越数组界限,如三个元素的数组,下标范围就是:0-2

  • 可以通过“数组名称.length”的方式获取数组长度,如:int l = myArr.length; 注意: 系统不会检测

  • 数组元素的下标是否越界,编程时,必须保证数组下标不能越界。

  • 数组是一个整体,不能直接参加运算(=除外),只能对单个元素进行处理,通常用到数组的地方都会用到循环。

  • 数组属于一种引用类型,因此如果将数组名b赋给数组a,那么数组b在操作数组元素时,实质上操作的还是数组a,如下图所示:
    数组引用类型

那就不得不说一下 引用类型与值类型
  • 值类型:存储在栈内存,且栈内存中存的是具体的值

  • 值类型举例:int,float,bool等

  • 引用类型较为特殊:在栈内存中存储着它的地址(指向堆内存),堆内存中存储具体的值

  • 引用类型举例:string,数组等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章