




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C#程序设计语言课程内容,第一章:概述第二章:C# 语言的基本原理第三章:C# 中对象的创建第四章:面向对象的编程技术第五章:C# 编程第六章:编写基于 .NET 的应用 程序第七章:使用 ADO.NET 访问 数据,第八章:创建基于 Windows 的应用程序第九章:在 C# 应用程序中使 用 XML Web Service第十章:创建 Web 应用程序十一章:应用程序设置和 部署十二章:进阶学习目标,C#编程,内容:,数组集合接口异常处理,C#,数 组 5.1,学习完本节后,你将能够:创建数组通过索引访问数组使用foreach语句遍历数组中的元素,什么是数组 5.1.1,数组就是包含了多个元素的数据结构一个数组中的元素必须具有相同的数据类型元素的数据类型可以是基本类型,如整形,也可以是引用类型-对象类型数组分为一维数组和多维数组,17,99,58,37,23,3,58,98,158,创 建 数 组 5.1.2,声明数组变量创建数组实例数组本身是对象,必须使用new创建数组实例,int MyIntegerArray;,int MyIntegerArray = new int5; Animal zoo = new Animal100;,初始化数组变量 5.1.3,当创建数组实例时,编译器会根据数组元素的类型,对元素进行默认的“初始化”数值型 = 0 bool型 = false引用型 = null,初始化数组变量 5.1.3,数组默认初始化示例: int a = new int3;,地址:0x1000,a,初始化数组变量 5.1.3,数组默认初始化示例: Animal a = new Animal3;,地址:0x1000,a,手工初始化数组变量 5.1.3,将数组元素的初始化值依次排列在 中示例:,int numbers = new int310,20,30;或int numbers = 10,20,30;Animal zoo = new Animal3new Animal(“Wolf”),new Animal(“Lion”), new Animal(“Cat”);,访问单个数组元素 5.1.4,数组中的每个元素可以通过索引值进行访问数组索引值从0开始示例:,int numbers = new int310,20,30;int x = numbers1;string msg = “Hello”, “Bye”, “How are you”;string s1 = msg2;string s2 = msg3; /数组越界错误!,遍历整个数组 5.1.5,每个数组都有一个Length属性,表示数组中元素的个数使用length进行数组边界检查,防止越界操作示例:,int numbers = 9,3,7,2;for (int i=0; ivalue 是一对一的映射,即根据key就可以立刻在集合众找到所需元素,中国城市天气预报 书目信息key value key value 北京 “晴” ISBN-0110 “红与黑” 上海 “小雨” ISBN-0210 “荆棘鸟” 广州 “阴天” ISBN-9106 “简爱”,HashTable 类 5.2.5,Hashtable方法:Add(key, value)根据key而不是根据索引查找,因此速度很快示例:,Hashtable ht = new Hashtable();ht.Add(Beijing, Sunny);ht.Add(ShangHai, Rainy);ht.Add(Guandong, Cloudy);string bjWeather = ht“Beijing”;,数组和集合的比较 5.2.6,数组声明了元素类型,但集合没有,因为集合中所用元素都存储为对象数组的大小是固定的,不能增加和减少;而集合类可根据需要动态调整大小检索元素的方式不同,练 习,参见教材P141页5.2.7 课堂练习,10 分钟,创建和使用集合 5.2.7,C#编程,内容:,数组集合接口异常处理,C#,接 口 5.3,学习完本节后,你将能够:描述接口使用实现了接口的对象通过接口实现多继承性,什么是接口 5.3.1,接口相当于“纯的”abstract类,可以包含属性和方法的声明,但没有任何的实现通过接口,开发人员可以定义类的原形,但不用定义类的任何实现接口规定:一个类实现一个接口,则必须实现接口中声明的所有成员,也就是所有实现该接口的类都必须长这个样子。因此接口被看作是类和类之间的协议一个C#的类只能继承一个父类,但却可以实现多个接口,从而间接实现多重继承,interface ICarnivore bool IsHungry get; Animal Hunt();void Eat(Animal victim);,接口的使用方法 5.3.2,声明接口语法: 修饰符 interface 接口名 : 父接口列表 接口体; ,public class Lion: ICarnivore private bool hungry;public bol Is Hungry get return hungry; public Animal Hunt (),接口的使用方法 5.3.2,实现接口语法: 修饰符 class 类名 :接口1,接口2 类体; 注意:,实现了接口的类继承接口的全部内容必须实现接口中定义的所有方法可以定义新的特性,使用实现了某接口的对象 5.3.3,思考题:怎样知道一个对象的具体类型呢?,class Lion : Animal class Sheep: Animal Animal animal1 = new Lion( );Animal animal2 = new Sheep();狮子吃山羊?山羊吃狮子?,?,使用实现了某接口的对象 5.3.3,is 操作符检查对象类型,class Lion : Animal class Sheep: Animal Animal animal1 = new Lion( );Animal animal2 = new Sheep();if (animal1 is Lion) Console.WriteLine(“凶猛的动物”);if (animal2 is Sheep) Console.WriteLine(“软弱的动物”);,接口和抽象类的比较 5.3.5,接口是比抽象类更抽象的层次,因为没有任何的实现如果你只想定义一个空的模板而不包含任何的实现,那么把它声明为一个接口吧!一个类只能继承一个抽象类,但却可以实现多个方法,从而在C#中实现间接的多重继承,汽车,房子,房车,C#编程,内容:,数组集合接口异常处理,C#,异常处理 5.4,学习完本节后,你将能够:解释异常处理使用try , catch 和 finally 关键字使用 throw 关键字捕获特定类型的错误,异常处理 5.4.1,在程序执行过程中发生的意外事件,打断了程序的正常执行,称为异常文件找不到网络无法连通数组越界算数除0为了加强程序的强壮性和鲁棒性,程序设计时,必须考虑到可能发生的异常事件,并作相应的处理,如何使用异常处理 5.4.1,C#允许我们编写代码,捕获异常事件,并作相应的处理,然后让程序继续执行,这就是C#的异常处理机制C#通过面向对象的方法来处理异常。如果发生了异常,CLR 会生成一个代表该异常的对象(包含了该异常的详细信息),并把它将给运行时系统。运行时系统会寻找程序员编写的相应的异常处理代码,对这一异常进行处理。,如何使用异常处理 5.4.1,/try 代码块try unsafe statement/catch 代码块catch (ExceptionType1 ex) catch (ExceptionTypeN ex) /finally 代码块finally do clearup ,try代码段包含可能产生异常的代码try代码段后必须跟一个或多个catch代码段每个catch代码段声明其能处理的一种特定类型的异常,并进行处理如果try中产生异常,则立刻跳转到第一个匹配的catch代码段处理,使用try catch finally 结构,如何使用异常处理 5.4.1,/try 代码块try unsafe statement/catch 代码块catch (ExceptionType1 ex) catch (ExceptionTypeN ex) /finally 代码块finally do clearup ,一个catch 处理完后,程序从最后一个catch后面的代码执行finally代码段是可选的,通常进行一些清理工作不管是否在try中出现异常,finally代码块都将被执行,即使遇到return语句,除非Application.exit终止整个应用程序,使用try catch finally 结构,如何使用异常处理 5.4.1,异常处理示例:,FileStream fs; /可能产生IO异常 try fs = File.Open(“abc.txt”);writeFile( ); /捕获异常并显示异常消息 catch ( IOException e ) Console.WriteLine(e.Messasge); /进行清理工作 finally fs.Close(); ,如何使用异常处理 5.4.1,try unsafe(); 输出T1; catch (IOException e) 输出T2; finally 输出T3; 输出T4;,程序正常执行出现异常且被捕获出现异常但没有被捕获catch中有return语句catch中有exit语句,return ;,Application.exit( ) ;,T1,T3,T4,T2,T3,T4,T3,继续往上抛,直到Main,退出,T2,T3,T2,立刻退出,如何抛出异常 5.4.2,如果你不想处理异常,可以选择将捕获到的异常抛出,抛给你的上一级调用者进行异常处理使用throw关键字抛出异常,FileStream fs; /可能产生IO异常 try fs = File.Open(“abc.txt”);writeFile( ); /捕获异常但不作处理,而是抛出给上一级调用者 catch ( IOException e ) throw e; ,处理异常的原则,所有的异常类都继承自System.Exception类使用trycatch-finally 结构处理异常使用 catch 进行异常捕获时,先捕获特定类型的异常,最后捕获所有未被处理的异常可以忽略异常,将异常抛出给调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供应商PCN控制指南
- 知识题库-水泥干法生产工艺基本知识考试题目及答案
- 生产支持管理办法解读
- 营造安全文化构建和谐社会
- 第三节分子的对称性与点群
- 皮肤擦伤诊疗与护理教学
- UI界面设计课件
- 现代医院护理技能体系与岗位职责
- 日本老年护理技术
- 实义动词趣味解析
- 2025规范家居装修协议
- 2025年广西继续教育公需科目考试试题及答案贯彻创新驱动发展战略打造
- 2025年兵团职工考试试题及答案
- 五年级上册数学练习题-数学好玩 图形中的规律|北师大版 含答案
- 《活着》读书分享优秀课件
- 微型桩施工方案
- 《一站到底》答题库大全之一(共800题)
- 管理学原理英文版版教学课件第10章
- 石油天然气建设公司HSE费用财务管理实施细则及会计核算办法
- MAU控制逻辑检讨
- AB股有限公司章程律师版
评论
0/150
提交评论