第9章数组与自定义类型.ppt

上传人:sccc 文档编号:5934171 上传时间:2023-09-06 格式:PPT 页数:37 大小:122.54KB
返回 下载 相关 举报
第9章数组与自定义类型.ppt_第1页
第1页 / 共37页
第9章数组与自定义类型.ppt_第2页
第2页 / 共37页
第9章数组与自定义类型.ppt_第3页
第3页 / 共37页
第9章数组与自定义类型.ppt_第4页
第4页 / 共37页
第9章数组与自定义类型.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《第9章数组与自定义类型.ppt》由会员分享,可在线阅读,更多相关《第9章数组与自定义类型.ppt(37页珍藏版)》请在三一办公上搜索。

1、第1章 程序设计语言与程序设计方法第2章 Visual C#概述第3章 C#语法基础第4章 顺序结构程序设计第5章 选择结构程序设计第6章 循环结构程序设计第7章 面向对象编程技术第8章 继承,第9章 数组与自定义类型第10章 菜单、工具栏与状态栏第11章 文件操作第12章 数据库技术第13章 ActiveX控件第14章 异常处理与跟踪调试第15章 开发Web应用程序第16章 部署应用程序,下一页,Visual C#程序设计教程,上一页,章节目录,上一页,下一页,第9章 数组与自定义类型 9.1 数组概述数组是一些具有相同类型的数据按一定顺序组成的序列,数组中的每一个数据都可以通过数组名及唯一

2、一个索引号(下标)来存取。所以,数组用于存储和表示既与取值有关,又与位置(顺序)有关的数据。,章节目录,上一页,下一页,9.1.1 数组与数组元素在C#中,把一组具有同一名字、不同下标的下标变量称为数组。一个数组可以含有若干个下标变量(或称数组元素),下标也叫索引(Index),用来指出某个数组元素在数组中的位置。数组中第一个元素的下标默认为0,第二个元素的下标为1,依次类推。所以数组元素的最大下标比数组元素个数少1,即如果某一数组有n个元素,则其最大下标为n-1。数组的下标必须是非负值的整型数据。,章节目录,上一页,下一页,(1)使用悬浮窗 缺省情况下FlashGet被设置为显示“悬浮窗”、

3、“监视剪贴板”和监视“浏览器点击”(2)使用快捷菜单 在带有下载文件的链接的网页中,右键单击链接文字,在弹出的快捷菜单中执行“用网际快车下载”命令。设置完毕后,单击“确定”按钮,章节目录,上一页,下一页,如果只用一个下标就能确定一个数组元素在数组中的位置,则称该数组为一维数组。也可以说,由具有一个下标的下标变量所组成的数组称为一维数组,如上述中的数组A就是一维数组。而由具有两个或多个下标的下标变量所组成的数组称为二维数组或多维数组,多维数组元素的下标之间用逗号分隔,如A0,1表示是一个二维数组中的元素。,章节目录,上一页,下一页,9.1.2 数组的类型在C#中,数组属于引用类型。数组元素在内存

4、中是连续存放的,这是数组元素用下标表示其在数组中位置的根据。C#中的数组类型可以对应任何数据类型,即数组可以是基本数据类型,也可以是类类型,例如,可以声明一个文本框(TextBox)类型的数组。C#通过.NET框架中的System.Array类来支持数组,因此,可以使用该类的属性与方法操作数组。,章节目录,上一页,下一页,9.2 声明与访问数组9.2.1 声明与访问一维数组声明数组的过程与声明类对象相同,包含两个环节,即声明数组变量与数组变量的实例化。1.声明一维数组声明一维数组的格式为:访问修饰符 类型名称 数组名;例如:int A;,章节目录,上一页,下一页,数组在声明后必须实例化才可以使

5、用。实例化数组的格式为:数组名称=new 类型名称无符号整型表达式;例如:A=new int5;使数组包含5个元素。声明数组过程中,声明变量与实例化变量这两个环节可以用一条语句完成。例如:int A=new int5;数组一旦实例化,其元素即被初始化为相应的默认值。,章节目录,上一页,下一页,指定数组元素个数的“无符号整型表达式”,可以是一个常量表达式,也可以是一个变量表达式。int Size=5;int A=new intSize;C#允许声明元素个数为0的数组,例如:int A=new int0;,章节目录,上一页,下一页,数组在实例化时,可以为元素指定初始化值,其格式为:数组名称=new

6、 类型名称无符号整型表达式值1,值2;例如:int A=new int51,2,3,4,5;如果为数组指定初始化值,可以省略对元素个数的说明:int A=new int 1,2,3,4,5;可以将声明数组的语句“int A=new int51,2,3,4,5;”简化为:int A=1,2,3,4,5;,章节目录,上一页,下一页,为数组指定初始化的值可以是变量表达式,例如:int x=1,y=2;int A=new int5x,y,x+y,y+y,y*y+1;一旦要为数组指定初始化值,就必须为数组的所有元素指定初始化值,指定值的个数既不能多于数组的元素个数,也不能少于数组的元素个数。,章节目录,

7、上一页,下一页,2.访问数组使用数组名与下标(索引)可以唯一确定数组中的某个元素,从而实现对该元素的访问。例如:int x=4,y=5;int A=new int31,2,3;/使用数组第1个元素的值为其他变量赋值x=A 0;A 1=y;/为数组第2个元素赋值,章节目录,上一页,下一页,在访问数组元素时,要注意不要使下标越界,例如:int A=new int5;A5=15;/下标越界可以在实例化数组时为数组的所有元素初始化指定的值,但不能在赋值语句中使用一个赋值运算符为整个数组赋值,例如:int A=new int31,2,3;/正确A=4,5,6;/错误,试图为整个数组赋值,章节目录,上一页

8、,下一页,3.foreach循环语句C#专门提供了一种用于遍历数组的foreach循环语句。foreach循环语句的格式为:foreach(类型名称 变量名称 in 数组名称)循环体语句中的“变量名称”是一个循环变量,在循环中,该变量依次获取数组中各元素的值。因此,对于依次获取数组中各元素值的操作,使用这种循环语句就很方便。要注意,“变量名称”的类型必须与数组的类型一致。,章节目录,上一页,下一页,例如,假定有一个整型数组A,则用foreach语句获取数组中和元素的值并输出到label1控件的Text属性中的代码为:foreach(int i in A)label1.Text=label1.T

9、ext+i+;foreach语句遍历数组虽然很方便,但其功能受一定的限制,例如,如果想为数组各元素依次有规律赋值,foreach循环将无能为力。,章节目录,上一页,下一页,9.2.2 声明多维数组在多维数组中,比较常用的是二维数组,声明二维数组与声明一维数组格式类似,例如:/声明并实例化一个两行两列的二维数组 int,A=new int2,21,2,3,4;声明多维数组时,用逗号表示维数,一个逗号表示二维数组,两个逗号表示三维数组,依次类推。,章节目录,上一页,下一页,访问多维数组需要用多个下标唯一确定数组中某个元素,例如:/声明一个4行4列的二维数组int,Ar=new int4,4;Ar1

10、,2=15;/为第2行第3列的元素赋值/用第2行第3列的元素为其他变量赋值int a=Ar1,2;要访问二维数组中的所有元素可以使用双重循环来实现,通常外循环控制行,内循环控制列。,章节目录,上一页,下一页,9.2.3 声明数组列表(ArrayList)ArrayList叫数组列表,数组列表是一个集合类,由该类声明的对象可以当做数组来使用。ArrayList类属于System.Collections命名空间,所以声明ArrayList类对象必须引用该命名空间,在Visual Sdudio.Net 2003中创建Windows应用程序时,该命名空间的引用已由系统自动生成。但在Visual Sdu

11、dio.Net 2005中则需要手动添加对该命名空间的引用。,章节目录,上一页,下一页,如果在声明ArrayList类对象时,想使该对象具有数组那样所包含的元素个数,可以用一个已经实例化的数组来初始化,其格式为:ArrayList 名称=new ArrayList(数组名称);其中,“数组名称”为已经实例化的数组,例如:int A=new int5;ArrayList AL=new ArrayList(A);string sA=new string4;ArrayList sAL=new ArrayList(sA);,章节目录,上一页,下一页,可以使用访问数组元素的方法访问数组列表中的元素,例如

12、:int A=new int5;ArrayList AL=new ArrayList(A);AL3=15;/为数组列表中的第4个元素赋值/用数组列表中的第4个元素为其他变量赋值int a=(int)AL3;控件如果包含Items属性,该属性可以看作是一个数组列表。,章节目录,上一页,下一页,7.2.2 字符方式下的FTP命令 进入DOS方式(Windows的命令提示符方式)或UNIX、Linux终端窗口后,执行类似“ftp 192.168.10.16”或“ftp”的命令,若登录的是匿名服务器,可输入登录用户名(username)如本例的“Anonymous”;不输入密码(password)直接

13、按Enter键;屏幕显示“230 User logged in,proceed.”及提示符“ftp”,表示登录成功。,章节目录,上一页,下一页,9.2.4 声明控件数组1.在窗体中添加控件创建一个Windows应用程序项目,在窗体上添加4个文本框。2.设计代码在Form1类定义中声明文本框数组字段代码:private System.Windows.Forms.TextBox textB;,章节目录,上一页,下一页,对该数组实例化。窗体的Load事件代码为:private void Form1_Load(object sender,System.EventArgs e)/实例化并指定各元素值 t

14、extB=new TextBox textBox1,textBox2,textBox3,textBox4;,章节目录,上一页,下一页,9.3 数组参数9.3.1 数组元素为参数数组元素作为参数只能在调用方法时作为实参进行传递,这时数组元素实参与简单变量实参功能相同。9.3.2 整个数组为参数整个数组作为参数时,实参与形参是相对应的。由于数组是引用类型,所以数组参数总是按引用传递的。,章节目录,上一页,下一页,声明方法时,数组作为形参的格式为:public 返回类型 方法名称(类型名称 数组名称)调用方法时,数组作为实参进行传递的格式为:方法名称(数组名称),章节目录,上一页,下一页,9.3.3

15、 params关键字在使用数组作为形参时,C#提供了params关键字,使调用数组为形参的方法时,既可以传递数组实参,也可以只传递一组数据。params的使用格式为:public 返回类型 方法名称(params 类型名称 数组名称),章节目录,上一页,下一页,9.4 数组与数组列表的属性与方法9.4.1 数组与数组列表属性1.Length与Count属性Length属性表示数组包含多少个元素。在数组列表中,表示包含元素个数的属性为Count,其性质与用法与数组的Length属性相同。2.IsReadOnly属性数组与数组列表均具有IsReadOnly属性,该属性可判断数组或数组列表中的元素是

16、否为只读的。,章节目录,上一页,下一页,9.4.2 数组与数组列表方法1.Clone与CopyTo方法克隆(Clone)与拷贝(CopyTo)方法的功能均为数组复制操作。数组与数组列表均具有这两种方法。Clone方法的使用格式如下:目标数组名称=(数组类型名称)源数组名称.Clone();,章节目录,上一页,下一页,CopyTo方法的使用格式如下:源数组名称.CopyTo(目标数组名称,起始位置);使用拷贝方法与使用克隆方法有两点区别,一是拷贝方法在往目标数组进行拷贝之前,目标数组必须实例化(可以不初始化元素值),否则将产生错误,而使用克隆方法时,目标数组不必进行初始化;二是拷贝方法需要指定从

17、目标数组的什么位置开始进行复制,而克隆方法不需要。,章节目录,上一页,下一页,2.Sort方法Sort方法可以将数组中的元素按升序排列。数组与数组列表都具有Sort方法,但使用的格式不同。数组的Sort方法使用格式为:Array.Sort(数组名称);数组列表的Sort方法使用格式为:数组列表名称.Sort();,章节目录,上一页,下一页,数组与数组列表中还有一个Reverse(反转)方法,将该方法与Sort方法结合,可以实现降序排序。数组反转方法的使用格式为:Array.Reverse(数组名称,起始位置,反转范围);数组列表反转方法的使用格式为:数组列表名称.Reverse(列表起始位置,

18、反转范围);,章节目录,上一页,下一页,9.5 自定义数据类型 9.5.1 结构类型1.定义结构结构的定义需使用struct关键字,定义格式如下:struct 结构类型名称 public 类型名称1 结构成员名称1;public 类型名称2 结构成员名称2;.,章节目录,上一页,下一页,2.声明结构变量 定义结构后,一个新的数据类型就产生了,可以像使用基本数据类型那样,用结构来声明变量。3.访问结构变量使用结构中的成员必须指出访问的结构变量。方法是在结构变量和成员之间通过运算符“”连接在一起。即:结构变量名.成员名,章节目录,上一页,下一页,9.5.2 枚举类型1.定义枚举类型定义枚举类型使用

19、关键字enum,定义枚举类型的一般格式为:enum 枚举类型名称 符号常量1,符号常量2,章节目录,上一页,下一页,枚举常量成员的默认值为0、1、2,可以在定义枚举类型时为成员赋予特定的整数值,例如enum SolarSystem Sun=700000,/太阳半径 Earth=6380,/地球赤道半径 Moon=1740/月亮半径,章节目录,上一页,下一页,2.声明与访问枚举变量声明枚举变量与声明基本类型变量的格式相同:SolarSystem S;/声明一个枚举变量S可以在声明枚举变量的同时为变量赋值,枚举变量的值,必须是枚举成员,枚举成员需要用枚举类型引导,例如:SolarSystem S=SolarSystem.Sun;对枚举变量的访问同基本类型变量,例如:int Num=(int)S;/将S的值赋给整型变量Num,章节目录,上一页,下一页,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号