《Csharp程序编程》由会员分享,可在线阅读,更多相关《Csharp程序编程(43页珍藏版)》请在金锄头文库上搜索。
1、第一节:概述 第二节:C# 语言的基本原理 第三节:C# 中对象的创建 第四节:面向对象的编程技术 第五节: C# 程序编程 第六节: 创建 Windows应用程序 第七节:应用程序设置和部署,第七章 C Sharp 编程 课程内容,C#编程,内容:,数组 集合 接口 异常处理,C#,数 组 5.1,学习完本节后,你将能够: 创建数组 通过索引访问数组 使用foreach语句遍历数组中的元素,什么是数组 5.1.1,数组就是包含了多个元素的数据结构 一个数组中的元素必须具有相同的数据类型 元素的数据类型可以是基本类型,如整形,也可以是引用类型-对象类型 数组分为一维数组和多维数组,17,99,
2、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,
3、数组默认初始化示例:Animal a = new Animal3;,地址:0x1000,a,手工初始化数组变量 5.1.3,将数组元素的初始化值依次排列在 中 示例:,int numbers = new int310,20,30; 或 int numbers = 10,20,30;Animal zoo = new Animal3 new Animal(“Wolf”), new Animal(“Lion”), new Animal(“Cat”);,访问单个数组元素 5.1.4,数组中的每个元素可以通过索引值进行访问 数组索引值从0开始 示例:,int numbers = new int310,2
4、0,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
5、-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,数组声明了
6、元素类型,但集合没有,因为集合中所用元素都存储为对象 数组的大小是固定的,不能增加和减少;而集合类可根据需要动态调整大小 检索元素的方式不同,C#编程,内容:,数组 集合 接口 异常处理,C#,接 口 5.3,学习完本节后,你将能够: 描述接口 使用实现了接口的对象 通过接口实现多继承性,什么是接口 5.3.1,接口相当于“纯的”abstract类,可以包含属性和方法的声明,但没有任何的实现 通过接口,开发人员可以定义类的原形,但不用定义类的任何实现 接口规定:一个类实现一个接口,则必须实现接口中声明的所有成员,也就是所有实现该接口的类都必须长这个样子。因此接口被看作是类和类之间的协议 一个C
7、#的类只能继承一个父类,但却可以实现多个接口,从而间接实现多重继承,interface ICarnivore bool IsHungry get; Animal Hunt();void Eat(Animal victim); ,接口的使用方法 5.3.2,声明接口 语法:修饰符 interface 接口名 : 父接口列表 接口体; ,public class Lion: ICarnivore private bool hungry;public bolIsHungry get return hungry; public Animal Hunt (),接口的使用方法 5.3.2,实现接口 语法:
8、修饰符 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(“软弱的动物”);,