当前位置:首页 > 技能相关 > C#与C++ > 正文内容

C# 第四篇 数组定义

admin3年前 (2022-11-15)C#与C++5090 修订时间:2022-12-05 17:03:54

假设如果有100个学生,需要定义100个变量,那么这个时候就需要数组的出现。数组是具有相同类型的一组数据的集合。

一、一维数组

一维数组实质是一组相同类型数据的线性集合。数组作为对象允许使用new关键字对其进行内存分配。

数组元素类型[] 数组名字;

在声明数组后,还不能访问它的任何元素,声明数组只是给出了数组的名称和数据类型,要想使用数组还需要分配内存空间。

数组名字 = new 数组元素类型[数组元素的个数]
arr = new int[5];
//赋值
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
//也可以这么赋值
int[] arr = new int[5]{1,2,3,4,5};

在使用new关键字为数组分配内存时,整形数组中各元素的初始值为0.

二、二维数组

二维数组是一种特殊的多维数组,声明时用多个“[]”或者在中括号中加逗号表明是多维数组。如有N个中括号或者N个逗号即为多维数组。

定义二维数组

int[][] arr = new int[][];
//或者这种
int[,] arr = new int[,];

//赋值
int[,] arr = new int[2,2]{{12,0},{45,10}};

对于二维数组索引序列arr[a][b] , a决定是第几行,b决定是第几列,数组索引从0开始;

三、不规则数组的定义

C#中支持定义不规则的数组,有时二维数组的不同行的元素个数完全不同

int[][] arr = new int[3][]; //指定行数不指定列数的二维数组
a[0] = new int[5];          //为第一行分配5个元素
a[1] = new int[3];          //为第一行分配3个元素
a[2] = new int[4];          //为第一行分配4个元素

四、数组与Array类

C#中的数组是由Array类派生的引用对象。可以使用Array类中的各种属性或方法对数组进行各种操作。

方法作用
Copy将数组中的指定元素复制到另一个Array中
CopyTo从指定的目标数组索引处开始,将当前一维数组中的所有元素复制到另一个一维数组中
Exists判断数组中是否包含指定的元素
GetLength获取Array中指定维中的元素数
GetLowerBound获取Array中指定维度的下限
GetUpperBound获取Array中指定维度的上限
GetValue获取Array中指定位置的值
Reverse反转一维Array数组中的元素的顺序
SetValue设置Array中指定位置的元素
Sort对一维Array数组中的元素进行排序

五、数组的操作

5.1 使用foreach语句遍历数组

foreach语句用来遍历集合中的每个元素。

foreach(类型 迭代变量名 in 集合)
{
   语句
}

5.2 对数组进行排序

C#提供了用于对数组进行排序的方法:Array.Sort方法和Array.Reverse方法。

Array.Sort方法:仅对一维数组进行排序,不能是空的数组;

Array.Sort(数组名);
//要排序的数组,排序范围的起始索引,排序范围的个数
Array.Sort(数组名,int index,int length);

Array.Reverse方法: 用于反转一维Array数组中的元素顺序;

Array.Reverse(数组名);
//要反转的数组,反转部分的起始索引,反转索引的个数
Array.Reverse(数组名,int index,int length)
 您阅读本篇文章共花了: 

免责声明
本站内容均为博客主本人日常使用记录的存档,如侵犯你的权益请联系:lifei@zaiheze.com 546262132@qq.com 沟通删除事宜。本站仅带访问端口形式使用,已杜绝搜索引擎爬取。

扫描二维码推送至手机访问。

版权声明:本文由LIFEI - blog发布,如需转载请注明出处。

本文链接:http://www.lifeiai.com/index.php?id=250

分享给朋友:

相关文章

Web API的创建3年前 (2022-11-07)
C# 第一篇 踏上征程 3年前 (2022-11-14)
C# 第二篇 基础语法3年前 (2022-11-14)
C# 第三篇 流程控制3年前 (2022-11-15)
C# 第七篇 窗口与控件3年前 (2022-12-05)

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。