当前位置:首页 >> 建筑/土木 >>

程序设计语言与程序设计方法


Visual C#程序设计教程
第1章 程序设计语言与程 序设计方法 第2章 Visual C#概述 第3章 C#语法基础 第4章 顺序结构程序设计 第5章 选择结构程序设计 第6章 循环结构程序设计 第7章 面向对象编程技术 第8章 继承 第9章 数组与自定义类型 第10章 菜单、工具栏与状态 栏 第11章 文件操作 第12章 数据库技术 第13章 ActiveX控件

第14章 异常处理与跟踪调试 第15章 开发Web应用程序 第16章 部署应用程序 下一页

上一页

第9章 数组与自定义类型
9.1 数组概述
数组是一些具有相同类型的数据按一定顺序组成 的序列,数组中的每一个数据都可以通过数组名 及唯一一个索引号(下标)来存取。所以,数组 用于存储和表示既与取值有关,又与位置(顺序) 有关的数据。

章节目录

上一页

下一页

9.1.1 数组与数组元素

在C#中,把一组具有同一名字、不同下标的下标 变量称为数组。一个数组可以含有若干个下标变 量(或称数组元素),下标也叫索引(Index), 用来指出某个数组元素在数组中的位置。数组中 第一个元素的下标默认为0,第二个元素的下标 为1,依次类推。所以数组元素的最大下标比数 组元素个数少1,即如果某一数组有n个元素,则 其最大下标为n-1。数组的下标必须是非负值的 整型数据。

章节目录

上一页

下一页

(1) 使用悬浮窗

缺省情况下FlashGet被设置为显示“悬浮窗”、 “监视剪贴板”和监视“浏览器点击”
(2) 使用快捷菜单 在带有下载文件的链接的网页中,右键单击链 接文字,在弹出的快捷菜单中执行“用网际快车 下载”命令。设置完毕后,单击“确定”按钮
章节目录 上一页 下一页

如果只用一个下标就能确定一个数组元素在数组 中的位置,则称该数组为一维数组。也可以说, 由具有一个下标的下标变量所组成的数组称为一 维数组,如上述中的数组A就是一维数组。而由 具有两个或多个下标的下标变量所组成的数组称 为二维数组或多维数组,多维数组元素的下标之 间用逗号分隔,如A[0,1]表示是一个二维数组中 的元素。

章节目录

上一页

下一页

9.1.2 数组的类型

在C#中,数组属于引用类型。
数组元素在内存中是连续存放的,这是数组元素 用下标表示其在数组中位置的根据。 C#中的数组类型可以对应任何数据类型,即数组 可以是基本数据类型,也可以是类类型,例如, 可以声明一个文本框(TextBox)类型的数组。

C#通过.NET框架中的System.Array类来支持数组, 因此,可以使用该类的属性与方法操作数组。
章节目录 上一页 下一页

9.2

声明与访问数组

9.2.1 声明与访问一维数组

声明数组的过程与声明类对象相同,包含两个环 节,即声明数组变量与数组变量的实例化。 1. 声明一维数组
声明一维数组的格式为:

访问修饰符 类型名称 [ ]数组名;
例如:int [ ]A;
章节目录 上一页 下一页

数组在声明后必须实例化才可以使用。实例化数 组的格式为: 数组名称=new 类型名称[无符号整型表达式]; 例如:A=new int[5]; 使数组包含5个元素。声明数组过程中,声明变 量与实例化变量这两个环节可以用一条语句完成。 例如:int [ ]A=new int[5]; 数组一旦实例化,其元素即被初始化为相应的默 认值。
章节目录 上一页 下一页

指定数组元素个数的“无符号整型表达式”,可 以是一个常量表达式,也可以是一个变量表达式。 int Size=5; int [ ]A=new int[Size]; C#允许声明元素个数为0的数组,例如: int [ ]A=new int[0];

章节目录

上一页

下一页

数组在实例化时,可以为元素指定初始化值,其 格式为: 数组名称=new 类型名称[无符号整型表达式]{值 1,值2…};
例如:int [ ]A= new int[5]{1,2,3,4,5}; 如果为数组指定初始化值,可以省略对元素个数 的说明: int [ ]A= new int[ ]{1,2,3,4,5}; 可 以 将 声 明 数 组 的 语 句 “ int [ ]A= new int[5]{1,2,3,4,5};”简化为:int [ ]A= {1,2,3,4,5};
章节目录 上一页 下一页

为数组指定初始化的值可以是变量表达式,例如:

int x=1,y=2;
int [ ]A= new int[5]{x,y,x+y,y+y,y*y+1};

一旦要为数组指定初始化值,就必须为数组的所 有元素指定初始化值,指定值的个数既不能多于 数组的元素个数,也不能少于数组的元素个数。

章节目录

上一页

下一页

2. 访问数组

使用数组名与下标(索引)可以唯一确定数组中 的某个元素,从而实现对该元素的访问。例如:
int x=4,y=5;

int [ ]A=new int[3]{1,2,3};
// 使用数组第1个元素的值为其他变量赋值

x=A [0];
A [1]=y;
章节目录

// 为数组第2个元素赋值
上一页 下一页

在访问数组元素时,要注意不要使下标越界,例 如: int [ ]A=new int[5]; A[5]=15; // 下标越界

可以在实例化数组时为数组的所有元素初始化指 定的值,但不能在赋值语句中使用一个赋值运算 符为整个数组赋值,例如: int [ ]A=new int[3]{1,2,3};
A={4,5,6};
章节目录

// 正确

// 错误,试图为整个数组赋值
上一页 下一页

3. foreach循环语句 C#专门提供了一种用于遍历数组的foreach循环语 句。foreach循环语句的格式为: foreach(类型名称 变量名称 in 数组名称){循环体}

语句中的“变量名称”是一个循环变量,在循环 中,该变量依次获取数组中各元素的值。因此, 对于依次获取数组中各元素值的操作,使用这种 循环语句就很方便。要注意,“变量名称”的类 型必须与数组的类型一致。
章节目录 上一页 下一页

例如,假定有一个整型数组A,则用foreach语句 获取数组中和元素的值并输出到label1控件的Text 属性中的代码为: foreach(int i in A) { label1.Text = label1.Text + i + " "; }

foreach语句遍历数组虽然很方便,但其功能受一 定的限制,例如,如果想为数组各元素依次有规 律赋值,foreach循环将无能为力。
章节目录 上一页 下一页

9.2.2 声明多维数组
在多维数组中,比较常用的是二维数组,声明二维 数组与声明一维数组格式类似,例如:
// 声明并实例化一个两行两列的二维数组 int [ , ]A=new int[2,2]{{1,2},{3,4}};

声明多维数组时,用逗号表示维数,一个逗号表 示二维数组,两个逗号表示三维数组,依次类推。

章节目录

上一页

下一页

访问多维数组需要用多个下标唯一确定数组中某个 元素,例如: // 声明一个4行4列的二维数组 int [ , ]Ar=new int[4,4];

Ar[1,2]=15; int a=Ar[1,2];

// 为第2行第3列的元素赋值

// 用第2行第3列的元素为其他变量赋值 要访问二维数组中的所有元素可以使用双重循环来 实现,通常外循环控制行,内循环控制列。
章节目录 上一页 下一页

9.2.3 声明数组列表(ArrayList)

ArrayList叫数组列表,数组列表是一个集合 类,由该类声明的对象可以当做数组来使用。 ArrayList类属于System.Collections命名空间,所 以声明ArrayList类对象必须引用该命名空间,在 Visual Sdudio.Net 2003中创建Windows应用程序 时,该命名空间的引用已由系统自动生成。但在 Visual Sdudio.Net 2005中则需要手动添加对该命 名空间的引用。
章节目录 上一页 下一页

如果在声明ArrayList类对象时,想使该对象具有 数组那样所包含的元素个数,可以用一个已经实 例化的数组来初始化,其格式为: ArrayList 名称=new ArrayList(数组名称); 其中,“数组名称”为已经实例化的数组,例如: int [ ]A=new int[5]; ArrayList AL=new ArrayList(A);

string [ ]sA=new string[4];
ArrayList sAL=new ArrayList(sA);
章节目录 上一页 下一页

可以使用访问数组元素的方法访问数组列表中的元 素,例如: int [ ]A=new int[5];

ArrayList AL=new ArrayList(A);
AL[3]=15; // 为数组列表中的第4个元素赋值

// 用数组列表中的第4个元素为其他变量赋值
int a = (int)AL[3]; 控件如果包含Items属性,该属性可以看作是一个数 组列表。
章节目录 上一页 下一页

7.2.2

字符方式下的FTP命令

进入DOS方式(Windows的命令提示符方式) 或 UNIX 、 Linux 终 端 窗 口 后 , 执 行 类 似 “ ftp 192.168.10.16”或“ftp ftp.abcd.edu.cn”的命令,若 登录的是匿名服务器,可输入登录用户名 (username)如本例的“Anonymous”;不输入密 码 ( password ) 直 接 按 〈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)

{// 实例化并指定各元素值
textB=new TextBox[ ]

{textBox1,textBox2,textBox3,textBox4};
}
章节目录 上一页 下一页

9.3

数组参数

9.3.1 数组元素为参数

数组元素作为参数只能在调用方法时作为实参进 行传递,这时数组元素实参与简单变量实参功能 相同。
9.3.2 整个数组为参数 整个数组作为参数时,实参与形参是相对应的。 由于数组是引用类型,所以数组参数总是按引用 传递的。
章节目录 上一页 下一页

声明方法时,数组作为形参的格式为: public 返回类型 方法名称(类型名称 [ ]数组名 称){ } 调用方法时,数组作为实参进行传递的格式为: 方法名称(数组名称)

章节目录

上一页

下一页

9.3.3 params关键字
在使用数组作为形参时,C#提供了params关键字, 使调用数组为形参的方法时,既可以传递数组实 参,也可以只传递一组数据。params的使用格式 为:

public 返回类型 方法名称(params 类型名称 [ ]数 组名称){ }

章节目录

上一页

下一页

9.4

数组与数组列表的属性与方法

9.4.1 数组与数组列表属性
1. Length与Count属性

Length属性表示数组包含多少个元素。
在数组列表中,表示包含元素个数的属性为 Count,其性质与用法与数组的Length属性相同。

2. IsReadOnly属性
数组与数组列表均具有IsReadOnly属性,该属性 可判断数组或数组列表中的元素是否为只读的。
章节目录 上一页 下一页

9.4.2 数组与数组列表方法
1. Clone与CopyTo方法

克隆(Clone)与拷贝(CopyTo)方法的功能均 为数组复制操作。数组与数组列表均具有这两种 方法。
Clone方法的使用格式如下: 目 标 数 组 名 称 =( 数 组 类 型 名 称 ) 源 数 组 名 称.Clone( );
章节目录 上一页 下一页

CopyTo方法的使用格式如下: 源数组名称.CopyTo(目标数组名称,起始位置);

使用拷贝方法与使用克隆方法有两点区别,一是 拷贝方法在往目标数组进行拷贝之前,目标数组 必须实例化(可以不初始化元素值),否则将产 生错误,而使用克隆方法时,目标数组不必进行 初始化;二是拷贝方法需要指定从目标数组的什 么位置开始进行复制,而克隆方法不需要。
章节目录 上一页 下一页

2. Sort方法 Sort方法可以将数组中的元素按升序排列。数组 与数组列表都具有Sort方法,但使用的格式不同。 数组的Sort方法使用格式为: Array.Sort(数组名称); 数组列表的Sort方法使用格式为: 数组列表名称.Sort( );
章节目录 上一页 下一页

数组与数组列表中还有一个Reverse(反转)方法, 将该方法与Sort方法结合,可以实现降序排序。 数组反转方法的使用格式为: Array.Reverse(数组名称,起始位置,反转范围); 数组列表反转方法的使用格式为:

数组列表名称.Reverse(列表起始位置,反转范围);

章节目录

上一页

下一页

9.5

自定义数据类型

9.5.1 结构类型 1. 定义结构 结构的定义需使用struct关键字,定义格式如下: struct 结构类型名称 { public 类型名称1 结构成员名称1; public 类型名称2 结构成员名称2; ... }
章节目录 上一页 下一页

2. 声明结构变量

定义结构后,一个新的数据类型就产生了,可 以像使用基本数据类型那样,用结构来声明变量。
3. 访问结构变量 使用结构中的成员必须指出访问的结构变量。方 法是在结构变量和成员之间通过运算符“.”连 接在一起。即:

结构变量名.成员名

章节目录

上一页

下一页

9.5.2 枚举类型
1. 定义枚举类型
定义枚举类型使用关键字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
上一页 下一页

总结

章节目录

上一页

下一页

作业


相关文章:
第1章 程序设计语言与程序设计方法
掌握程序设计方法 教学过程 ? 预备知识 1.1 程序设计语言 人们使用计算机处理问题时,与计算机交换信息所使用的语言叫计算机语 言,也就是程序设计语言。它是人为地...
1-3 程序与程序设计语言
高二信息技术教案 1-3 程序与程序设计语言 一、 1、 教学目标 知识与技能 使学生知道什么是源代码,并理解算法、程序设计、程序设计语言之间 的关系,了解程序设计...
程序与程序设计语言 教案
程序与程序设计语言 教案_其它课程_高中教育_教育专区。高中信息技术选修 《算法...结束 教学重点 教学难点 学法指导 教学方法 了解简单程序设计的算法思想;了解...
C++语言程序设计课后答案(郑莉第4版)
C++语言是目 前应用最广的面向对象的编程语言。 1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点? 解: 结构化程序设计的思路是:自顶向下、逐步求精;其...
如何学习程序设计语言
品牌的空调(对目前的编程语言作些了解,根据 自身的情况,最终确定一门语言来学习...其中最重要的是养成 自上向下逐步求精的程序设计思想和方法。怎样才是自上向下...
C++语言程序设计答案
C++语言程序设计答案_IT/计算机_专业资料。第一章 概述简述计算机程序设计语言的...C++语言是目 前应用最广的面向对象的编程语言。 什么是结构化程序设计方法?这种...
程序设计语言
哈尔滨师范大学课程论文课程名称 任课教师 题目 程序设计语言 于延 XXXX 张三丰(A102) XXXXXX XXX 学院 XX 专业 姓名序号 学号 学院专业 论文评语:优秀(90-100...
《程序设计语言(1)》模拟试题二和答案
程序设计语言(1)》模拟试题二一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案, 并将其号码填在题干后的括号内。每小题 3 分,共 45 分)...
[程序设计语言VB]考试卷A
[程序设计语言VB]考试卷A_IT认证_资格考试/认证_教育专区。西南科技大学网络教育...在图片框中加载图形(c:\666.jpg)的方法是(A) 。 A. Loadpicture("c:\...
浅谈C++程序设计语言教学要领
这就要求他们系统地学习一门程序设计语言,同 时学习程序设计语言还有助于培养...如采用结构化程序设计方法、程序的书写规 范、大程序采用模块化来进行设计、程序...
更多相关标签:
c语言程序设计方法 | c语言程序设计 | java语言程序设计 | c语言程序设计 谭浩强 | 汇编语言程序设计 | c语言程序设计入门 | 程序设计语言 | c语言程序设计培训 |