数组是经过索引后得到的相同类型对象的集合。因为C#的数组都是从System.Array类中继承而来的,所以数组也继承了这个类的方法和属性。
1.数组属性和方法介绍
C#数组的常用属性如表9-1所示。
表9-1 C#数组的常用属性
数组能够实现IEnumerable和IEnumerator的接口,数组的GetEnumerator()方法能够返回数组的IEnumerator对象,得到的IEnumerator可以读取数组元素,但是不能修改数组元素。
C#数组的常用方法如表9-2所示。
表9-2 C#数组的常用方法
(续)
2.读取数组数据
实例29:输出显示数组内指定的文本数据
下面将通过一个简单实例来说明。利用数组的属性和方法获取数组数据的具体流程。本实例保存在“光盘:\daima\9”文件夹内,项目名为readshushu。实例的功能是输出显示数组内的指定文本数据。实例文件的主要代码如下:
上述实例代码的设计流程如下。
1)定义String类型的数组myArr。
2)设置0~3编号的数组值。
3)通过GetEnumerator()方法逐一获取数组值。
4)通过WriteLine()输出数组内的数据。
执行后将逐一显示数组内的数据,如图9-1所示。
图9-1 实例执行结果
3.复制数组数据
实例30:利用数组的属性和方法实现数组数据复制
下面将通过一个简单实例来说明利用数属性和方法实现数组数据复制的流程。来实例保存在“光盘:\daima\9”文件夹内,项目名为copy。实例的功能是复制指定数组内的数据,并将复制结果输出。实例文件的主要代码如下所示:
(www.xing528.com)
上述实例代码的设计流程如下。
1)定义数组array。
2)使用for语句逐一读取数组内的数据,并将数据输出。
3)分别定义数组oppa和oppb。
4)将array内的数据复制到oppa中,并输出结果。
5)将array内的数据复制到oppb中,并输出结果。
执行后将显示指定数组内的数据,并输出复制后的结果,如图9-2所示。
图9-2 实例执行结果
因为数组mma和mmb中允许的数据数不同,所以复制后最终的处理结果也不相同。
多学一招
除了使用Array.Copy()方法之外,还可以使用Clone()方法来创建浅副本。但Clone()方法和Copy()方法有一个重要区别,即Clone()方法会创建一个新数组,而Copy()方法只是传送了阶数相同、有足够元素空间的已有数组。如果需要包含引用类型的数组的深副本,就必须迭代数组,创建新对象。
4.数组数据搜索
通过数组方法IndexOf()和LastIndexOf(),可以在数组内搜索指定的数据。
实例31:实现数组内数据搜索处理
下面将通过一个简单的实例来说明在数组内实现数据搜索处理的流程。本实例保存在“光盘:\daima\9”文件夹内,项目名为search。实例的功能是输出显示数组内指定数据的索引。实例文件的主要代码如下:
上述实例代码的设计流程如下。
1)定义数组array,设置有20个数据。
2)使用for语句逐一读取数组内的数据,并将数据输出。
3)通过IndexOf()获取数组内第一个4的索引。
4)通过LastIndexOf()获取数组内最后一个为6的索引。
5)输出显示获取的索引值。
执行后将显示指定数组内的数据,并将数组内指定数据的索引输出显示,如图9-3所示。
图9-3 实例执行结果
多学一招
利用索引进行查询的方法在实际项目中经常会被用到,比如在网站中编写上传图片时需要判断上传文件的扩展名,就需要用到LastIndexOf(""),在上传文件的路径中,查找出索引位后,利用截取方法把文件路径中最后一个“”后的扩展名截取下来,再判断是否为合法的图片格式。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。