2022年C知识知识总结 .pdf

上传人:Che****ry 文档编号:12285910 上传时间:2022-04-24 格式:PDF 页数:20 大小:469.05KB
返回 下载 相关 举报
2022年C知识知识总结 .pdf_第1页
第1页 / 共20页
2022年C知识知识总结 .pdf_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《2022年C知识知识总结 .pdf》由会员分享,可在线阅读,更多相关《2022年C知识知识总结 .pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第一章第一点 :.NET(C# 语言 )的发展方向.NET 学习主线 :C#语言的基础特性-WINFORM(C/S模式编程 )-WPF-ASP.NET(WebForm)-Silverlight-Android 第二点 :学习 .NET 课程体系1-6 章:C#面向对象编程第一章 :C#的介绍以及异常处理第二章 :C#的类与对象的关系,以及属性与方法(静态方法,构造方法,重载) 第三章 :C#基本数据类型 (值类型与引用类型),结构体,枚举等第四章 :C#的面向对象之继承与多态第五章 :C#中接口的使用以及简单工厂设计模式- 7-12 章:C#的核心技术与高级特性第七章 :TreeView 控件

2、与 ListView 控件第十一章 :集合与泛型集合指导学习课 :.NET 三层结构体系 (2 次课 ) 第八章 :委托与事件第九章 :多线程第十章 :文件及 IO 操作第十二章 :网络编程 (WinSocket 编程) 第十三章 :反射与序列化- 第三点 :.NET 体系的认识1.NET 的理解 :.NET 是平台, C#是.NET 平台上的一门语言2.NET的发展版本:.NETFramework1.0,.NETFramework2.0,.NETFramework3.0,NETFramework4.0,总共用时10年。3.NET 的组成部分 :CLR(Common Language Runt

3、ime) 公共语言运行时,.NetFramework 核心内库(FCL) 4.NET 的运行原理 :C#程序 -(CLR 第一次编译 )-MSIL(中间语言 )-(JIT 第二次编译 )- 机器语言 (.EXE,.DLL) 为什么需要中间语言?因为.NET 是跨语言的, 在.NET 平台上的任何语言都可以实现互操作性。中间语言就是.NET 在跨语言交互时提供语言的互操作性。CLR 由两部分组成 :CTS(通用类型系统 )和 CLS(公共语言规范) 例如 :基本数据类型CTS short System.Int16 int System.Int32 long System.Int64 string

4、 System.String CLS(公共语言规范 ):运行在 .NET 平台上的所有托管代码所遵循的语言标准,如垃圾回收,精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 20 页 - - - - - - - - - - 异常处理等。5.C#异常处理机制 :Try.catch.finally:try: 引发异常 ,catch:捕获异常 ,finally: 释放资源组合形式 : 1.try.catch 2.try.catch.finally 3.try.finally 4.try.catch.c

5、atch.finally 5.ctach.finally( 错误 ) 问题: .NET Framework 有什么组成?答:有公共语言运行时(CLR) 和.NET Framework 基类库( FCL)这两大组件主成。第二章第二章 :类与对象关系,属性与方法本章目标 : 1.什么是类 : 具有相似特性 (属性 )和行为 (方法 )的对象的集合2.什么是对象 :在现实世界中存在的,并且看得见摸得着的一切事物。3.类与对象之间的关系:一对多的关系。类是对象的蓝图。4.面向对象的三大特性:封装,继承,多态5.类的访问修饰符与成员访问修饰符的使用区别:类的访问修饰符:, public( 公有的 ) I

6、nternal(默认访问修饰符) 成员访问修饰符:Public 允许类的使用者从外部进行访问。private C# 中的私有成员仅限于类中的成员可以访问,从类的外部访问私有成员是不合法。Protected 为了方便派生类的访问,有希望成员对于外界隐藏的,这时可以使用protected修饰符声明成员为保护成员。Internal 对于同一应用程序是可以访问的。6.类中分为两种成员:成员变量 (字段,属性 ),成员函数 (方法 ) 7.类的实例化: 1.将一个抽象的概念转换为一个具体的概念的过程。2.类的实例化分为两种状态:实例化前(类的引用),实例化后 (类的实例 )。8.属性的作用: 1.封装字

7、段,为字段提供有效的数据验证。2.为其他类提供一个外部的访问接口9.属性的分类 :只读属性,只写属性,可读可写属性10.方法的分类 :实例方法,静态方法,构造方法(构造函数 ) 实例方法 : 当一个类被实例化后,通过类的实例(对象 )调用的方法。静态方法 : 当直接通过类名调用的方法。静态方法中只能包含静态成员变量。构造方法 : 当类的实例 (对象 )被创建的过程中,所调用的方法称为构造方法。特点 : 构造方法与类名相同,且没有返回类型。11.方法的重载 :方法名相同,参数的个数,顺序,类型不同。重载与方法的返回类型无关。类的概念:同一类事物共同特点的集合,精品资料 - - - 欢迎下载 -

8、- - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 20 页 - - - - - - - - - - 对象的概念:实际存在的事物类和对象的关系:找出生活中的某类事物的共同特点,设计成类再从类创建出程序中的对象郭靖是大侠定义类的语法:访问修饰符class 类名 /成员变量/成员方法 /定义下汽车类public class Cars /定义字段string name; string address; double pailiang; string color; /定义方法,刹车public void ShaChe() Console.W

9、riteLine( 刹车 ); /定义方法,行驶public void Run() Console.WriteLine( 行驶 ); 类的命名规范:组成类名的单词首字母要大写定义对象的语法:类名对象名 =new 构造方法() ;给字段赋值:对象名.字段名 =值;取字段的值:对象名.字段名调用方法:对象名.方法名 () 调用方法时需要注意的问题:(1)方法有没有参数精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 20 页 - - - - - - - - - - (2)如果方法有参数,那么参数有几

10、个,每个参数的数据类型是什么(3)方法有没有返回值(4)如果方法有返回值,返回值的类型是什么按值传递和按引用传递:(1)按值传递不会影响Main 方法中的变量值(2)按引用传递会改变Main 方法中的变量值(3)ref 关键字表示按引用传递,定义方法时和调用方法时均需要使用用 out 修饰符修饰的参数,在方法结束之前必须要赋值,调用方法时的参数前也必须加上out修饰符,如:访问修饰符返回值类型方法名( out 数据类型参数名) 。 。 。 调用时:方法名(out 参数名)将数组作为参数传递给方法时,使用按引用传递的方式方法的重载:定义同名的方法,使用方法的参数来区分同名的方法区分同名的方法时,

11、使用参数的个数,参数的类型来区分,如:public void Add(int x,int y) public void Add(double x,int y) 就是方法的重载, ()中的参数类型不同public void Add(int x,int y,int z) public void Add(int x,int y) 也是方法的重载, ()中参数的个数不同多态:一种事物具有多种形态在 C#中,多态包括两种情况:(1)重载:在同一类中,有同名但参数不同的方法(2)重写:在不同的类中,有同名的方法第三章第三章 :C#数据类型本章目标 : 1.C#中的基本数据类型,以及关键字(const,re

12、adonly),复杂数据类型const:常量是在字段定义时初始化,是静态赋值readonly:只读的变量,可以在字段初始化或构造函数中动态赋值。注意 :const 与 readonly 不能同时存在复杂数据类型 :DateTime 类型,枚举类型(Enum) 定义属性的语法: (生成属性Ctrl+R+E )访问修饰符数据类型属性名 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 20 页 - - - - - - - - - - set字段名 =value ; getreturn 字段名 ; (

13、1)属性名的首字母大写,通常与字段有关(2)set 访问器用于给字段赋值,在赋值前可以进行数据正确性的验证(3)value 是一个关键字,代表外界输入的一个值(4)get 访问器用于得到字段的值(5)set 访问器和 get 访问器并不是必须有的根据 set 和 get 访问器的不同组合,属性可分为3 种(1)读 /写属性 ,同时包含 get 和 set 访问器(2)只读属性,只包含get 访问器(3)只写属性,只包含set 访问器构造函数的概念:函数的名字与类名相同,并且没有返回值,这样的函数称为构造函数构造函数的作用:(1)初始化字段或属性(2)用于创建对象定义类后系统会提供一个不带参数的

14、构造方法,一旦我们定义了其他的构造方法,系统将不再提供不带参数的构造方法,如果我们还需要使用这个不带参数的构造方法,需要先定义当 this 使用到构造方法中时,用于区分字段(属性)和参数,如: this.Name=name;this 后的 Name 是属性, =号后的 name是参数析构函数的概念:用开头,函数名和类同名,函数没有访问修饰符,函数没有参数,这样的函数称为析构函数如: 类名() 析构函数的调用规则:(1)一个类只有一个析构函数(2)析构函数没有访问修饰符,没有参数(3)析构函数由c#程序自动调用,程序员不能调用(4)析构函数的作用:用于回收无用对象所占用的内存空间const 关键

15、字称为编译时常量,在定义时就必须赋值readonly 关键字称为运行时常量,在程序运行前可以多次赋值,但程序运行后,值无法改变2.C#中数据类型分类:值类型,引用类型值类型 :将实际的值保存在内存的栈中引用类型 :通过指针指向内存栈中实际值的地址。引用类型的本身保存在堆中。string s1 = null;/ 空引用s1 = ;/ 空值精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 20 页 - - - - - - - - - - 字符串属于引用类型,首先判断空引用再判断空值将值类型与引用类型

16、作为方法的形参传递按值传递: 将值类型作为方法的参数传递,实际上传递的是值的副本,在方法体中所做的任何修改,都不会影响原始值。按引用传递 :引用类型作为参数传递,当方法体类的值发现改变,那么指向栈中的地址也需要改变。将值类型按引用传递方式:ref 关键字, out 关键字3.C#中类与结构体的区别4.C#中索引器的概念第四章static 表示静态的,可以用在字段、属性、方法、类等的前面(1)静态字段:访问修饰符static 数据类型字段名;如何调用静态字段:类名.字段名分配空间的时间:声明对象时就分配空间,此空间直到整个程序结束时才会回收比较非静态的字段和方法:非静态的字段和方法在创建对象时才

17、分配空间,当此对象不再使用时就回收空间,使用对象名.字段名和对象名.方法名()的方式调用(2)静态方法:访问修饰符static 返回值类型方法名() 实现方法的步骤 如何调用静态方法:类名.方法名();注意:静态的方法中只能使用静态的内容,如静态字段(3)静态属性:访问修饰符static 数据类型属性名 getreturn 类名 .字段名; set类名 .字段名 =value; (4)静态类:访问修饰符static class 类名 静态成员静态方法 注意:A、用 static 修饰的类称为静态类B、静态类中的成员只能是静态的精品资料 - - - 欢迎下载 - - - - - - - - -

18、- - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 20 页 - - - - - - - - - - C、静态类不能被继承D、静态类不能创建对象(5)静态的构造方法:static 类名() . 静态的构造方法不能使用访问修饰符静态构造方法由系统自动调用定义索引器的语法:访问修饰符返回类型this数据类型标识 get return 内容; set 例:/定于数组字段Student stu; /定义构造方法,确认学员人数public MyClass(int size) stu=new Studentsize; /定义索引器 ,根据学号查询信息public Studen

19、t thisint no get return stuno; set if(nostu.Length |no0) Console.WriteLine( 学号有误!请检查后输入;); return; stuno=value ; /定义索引,根据书名查询信息public Student thisstring name get foreach (Student temp in stu) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 20 页 - - - - - - - - - - return t

20、emp; Console.WriteLine( 对不起,没有您找的姓名;); return null; 注意:(1) get 访问器中, return 后的内容的类型要和定义索引的返回类型一致(2)索引器一般用在将对象作为数组的情况(3)数据类型标识 数据类型根据具体情况进行定义(4)根据 号中的不同数据类型可以实现索引器的重载(5)索引器类似于属性,也包含get 和 set 访问器(6)索引器也类似于数组,可以根据下标访问元素,但索引器比数组更灵活,数组元素只能根据下标访问,索引器还可以根据其他类型进行访问第五章1.在 C#继承中,如果子类继承父类,那么子类就必须继承父类的构造函数。如果父类

21、没有默认构造函数,那么子类就必须显示调用父类带参的构造函数。2.在 C#中,如果子类继承父类,在实例化子类的时候,首先执行父类的构造函数,再执行子类的构造函数。3.在 C#继承中,父类可以派生多个子类,子类只能直接继承一个父类,继承具有传递性以及单根性的特点。1、继承上的概念:从现有类派生出一个新类,新类具有父类的特点,这样的方式成为继承,在程序中我们用是不是来判断父类和子类的关系,如:公交车是汽车,汽车是父类,公交车是子类草是猫类,草和猫类没关系2、继承的好处: (1)节省重复代码的书写(2)提高效率,节约精力3、如何实现继承:继承的语法:访问修饰符class 类名:父类名 成员方法 注意:

22、 (1) :表示继承(2)父类中已经有的属性和方法,在子类中不需要再定义(3)创建子类对象后,子类对象可以调用父类的属性和方法创建子类对象时,程序先调用父类无参的构造方法,再调用子类自己的构造方法,无论子类的构造方法是否有参数,始终调用父类无参的构造方法在子类中指定调用父类的构造方法:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 20 页 - - - - - - - - - - 访问修饰符子类名(【参数 .】 ) :base(参数 1,参数 2,.) 语句 注意:(1)base关键字表示调用

23、父类的构造方法(2)base(参数 1,参数 2,.)中的参数只有参数名,没有数据类型(3)根据 base()中的参数个数决定调用父类的哪个构造方法(4)base(参数 1,参数 2,.)中的参数名要和子类名(【参数 .】 )中的参数名相同使用 base关键字还可以调用父类的方法:base.父类的方法名()继承的特点:(1)传递性: B 类继承 A 类,C 类继承 B 类,C 类的对象可以访问B 类和 A 类的公共属性和方法(2)单一性:子类只能有一个直接父类,即-子类名:父类名, :号后只有一个父类将父类对象指向子类的引用,如:父类对象名 =new 子类();将对象名强制转换后,可以调用父类

24、和子类的公共属性集方法,如: ( (子类)对象名).方法名()或( (子类)对象名).属性相当于:父类代表子类处理事务is 关键字用来判断对象是否与某个类型兼容(一致),用法:对象is 类名as关键字用来得到兼容类型的对象,如果类型不兼容则得到null,用法:对象 as 类名或 (对象as 类名) .方法()或(对象as 类名) .属性注意:不同类型的对象,即使进行强制转换,在编译时也会提示错误运动员参加比赛小孩子玩音乐演奏着演奏乐器play 子类和父类具有同名的方法,但方法的实现步骤不同,称为方法的重写实现重写的步骤:(1)在父类中将方法定义为虚方法,如:访问修饰符virtual 返回值类型

25、方法名() 实现方法的步骤 关键字 virtual 表示此方法是虚方法(2)在子类中重写父类的方法,如:访问修饰符override 返回值类型方法名()精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 20 页 - - - - - - - - - - 实现方法的步骤 关键字 override 表示重写父类同名的虚方法;注意:重写父类方法时,访问修饰符应该是一致的子类和父类可以有同名的方法,但建议区分父类和子类同名的方法区分方式有两种:(1)在父类中将方法声明为虚方法,在子类中重写父类的方法(2)

26、在子类中用new 关键字声明同名的方法面向对象的三大特点:继承、多态、封装多态由两种方式实现: (1)重载:在同一个类中,有同名,但参数类型和个数不同的方法(2)重写:在不同的类中,有同名但实现步骤不同的方法重载:public void Aa(int x) public void As(int x,string y) 重写 : public void Aa(int x) 4.抽象类( abstract)的特点 : 1.抽象类中既包含抽象方法又包含实例方法。2.有抽象方法的类一定是抽象类。3.抽象类可以被继承,但是不能被实例化。4.抽象类一般作为基类,子类继承抽象类,必须实现抽象类中的抽象方法。

27、5.抽象类不能是密封类或静态类。抽象方法:只能定义没有实现的方法称为抽象方法定义抽象方法的语法:访问修饰符abstract 返回值类型方法名();注意:抽象方法没有号,用;号作为方法的结尾关键字 abstract 用于将类或方法声明为抽象的抽象类的特点:(1)抽象类是对子类的描述,就像模版,只有被子类继承,才有意义(2)抽象类不能被实例化,即不能创建对象(3) 抽象类不能是密封类或静态类,即类不能使用关键字sealed和 static (4)抽象类中可以有抽象方法和非抽象方法,但有抽象方法的类,一定是抽象类定义抽象类和抽象方法的目的:给子类提供一种规范,约束子类的行为当子类继承的父类是一个抽象

28、类时,子类要么实现父类中所有的抽象方法,要么将自己也声明为抽象类,子类重写父类的抽象方法时,必须使用关键字override 抽象类的作用:强制约束子类的行为。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 20 页 - - - - - - - - - - 只能在抽象类中除了密封类都可以写必须被子类override可以被子类override不允许有方法体要有方法体,哪怕是一个分号用 abstract 修饰用 virtual修饰抽象方法虚方法面向对象的三大特点封装:隐藏内部实现,稳定外部接口。继

29、承:子类继承基类的成员,实现代码复用。多态:不同子类对同一消息作出不同的反映。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 20 页 - - - - - - - - - - 5.密封类 (sealed):不能被继承,只能被实例化。定义一个类,这个类又没有继承其他类时,此类默认的父类是Object 类当一个类继承Object 后,需要重写父类的ToString()和 Equals()方法重写方式如下:public override string ToString () return “要返回

30、的字符串“ public override bool Equals (object obj) /判断 obj 对象是否和当前类兼容if(obj is 当前类名 ) /如果 obj 对象和当前类兼容,则转换成当前类,用临时对象保存当前类名临时对象名 =obj as 当前类名;/将临时对象中的字段和属性与当前类的字段和属性比较if( 临时对象名 .属性名 =this.属性名& 临时对象名 .字段名 =this.字段名& .) /所有内容都相同,返回true return true; /其余情况返回false return false; 关键字 sealed将类定义为密封类密封类的特点: (1)类中

31、不能有虚方法(2)密封类不能被其他类继承virtaul get set 6: 重载和重写的定义:重写 (Override) 在面向对象中重新实现父类的虚方法或者抽象对象方法,通过override关键字来重写体现面向对象的多态性。重写又称覆盖。重载同一类中添加几个方法名字相同,参数个数或者参数类型不同的方法,称为重载,重载与方法的返回类型无关。7.里氏替换原则:子类的对象能够替换其父类精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 20 页 - - - - - - - - - - 父类对象不能

32、够替换子类父类的方法都要在子类中实现或者重写is 检查对象是否与指定类型兼容as 用于在兼容的引用类型之间执行转换8.虚方法 (virtual): 在 C#中默认的方法形式都是非虚方法。如果父类的方法被定义为虚方法,那么子类就可以通过Override 重写父类的虚方法,否则子类将隐藏(new)父类的方法。第六章接口:接口是单纯对事物行为的描述接口的作用:实现多重继承接口的特点:为了C#中继承单根性的扩展子类继承父类,可以实现多个接口接口中包含的内容:属性,方法,索引器,事件定义接口的语法:访问修饰符interface 接口名 成员 public interface Iinterface voi

33、d On(); void Off(); 定义接口的规范:(1 接口名必须以大写字母I 开头(2) 接口的访问修饰符是可以选择的,但接口中的方法不能有任何的修饰符,默认为隐式的public (3 接口中能定义属性、方法、事件、索引,不能定义常量,字段,构造方法等(4 接口中不能定义构造方法,所以接口不能被实例化,即不能创建接口对象(5 接口中只有属性、方法、事件、索引的定义,没有实现(6 在接口中只需定义方法的返回值类型、方法名和参数,用;号结尾即可(7! )接口中只有行为的定义,没有具体的实现,可以把接口看作一种标准和规范,凡是实现接口的类,必须实现接口中的行为,接口约束了类的行为类实现接口的

34、语法:类名:接口名 类成员、方法 注意:当类实现接口时要实现接口中的所有方法接口可以继承接口,当类实现的接口继承于其他接口时,类需要实现子接口和父接口中的所有定义内容父类实现接口中的方法时将方法定义为虚方法,子类继承父类时用override 关键字重写父类的方法,接口中的方法子类就不需要再实现精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 20 页 - - - - - - - - - - 当不同的接口中有同名的方法时,需要显示实现接口,显示实现接口的语法:接口名.方法名()注意:在类中实现接

35、口中的方法时,方法前不能使用访问修饰符,默认的访问修饰符是 public 调用显示接口的步骤:(1)声明接口,如:接口名接口对象名;(2)用接口对象名指向类的对象,如:接口对象名=new 类名();或 类名 对象名 =new 类名();接口对象名=对象名 ; (2)用接口对象调用显示实现的方法,如:接口对象名.方法名();可以将接口作为方法的参数,调用方法是时,根据程序需要将类的对象作为方法的参数,方法中自动调用类中的方法、属性派生类必须实现未实现的方法包含未实现的方法不能实例化相似点直接实现需要 override 实现抽象方法实现接口的类必须实现所有成员非抽象派生类必须实现抽象方法可以实现多

36、个接口只能继承一个类用 interface定义用 abstract定义不同点接口抽象类第七章TreeView 中的常用属性和方法: TreeNode 对象用于创建节点节点对象名1.Nodes.Add (节点对象名2) ;-节点对象名2 是节点对象名1 的子节点节点对象名 .Text-给节点设置文本注意: TreeView 中只需添加根节点ExpandAll() 方法展开所有节点SelectedNode 属性得到是选中的TreeNode 对象Level 属性得到一个节点的深度(层次),根节点的深度是0,依此类推练习:完成以下结构:足下软件学院T130 张三里斯王五精品资料 - - - 欢迎下载

37、- - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 20 页 - - - - - - - - - - T131 范浩陈帅王宾. T132 萧萧晨晨西西第八章委托的定义:访问修饰符delegate 返回值类型委托名();将方法委托给对象的实现步骤:(1)定义委托,如:访问修饰符delegate 返回值类型委托名();(2)定义类,在类中定义方法,如:class 类名 访问修饰符返回值类型方法名 1(). 访问修饰符返回值类型方法名 2(). 访问修饰符返回值类型方法名 3(). 。 。 。 。 。 。 (3)创建类的对象,如:类

38、名对象名 =new 类名();(4)创建委托对象,如:方法一:委托名委托对象名 =new 委托名(对象名.方法名);方法二:委托名委托对象名 =对象名 .方法名;注意:方法名后不要带()号(5) (可选步骤)给委托对象委托多个方法,如:委托对象名+=对象名 .方法名 2;(6)调用委托对象,如:委托对象名();注意:委托对象名后一定要跟()号注意:委托名、类名、方法名1、对象名、委托对象名均由程序员定义练习:使用委托,输出本周和下周的学习安排将方法给委托对象的规则:(1)委托的参数类型要和方法的参数类型一致(2)可以委托多个有返回值的方法,但委托对象的返回值是最后一个方法的返回值(3)+= 表

39、示添加要委托的方法,-=表示去掉已经委托的方法练习:定义委托,执行接收一个数字,返回该数字的立方的方法定义事件的语法:访问修饰符event 委托名事件名;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 20 页 - - - - - - - - - - 完成事件的步骤: 。 。 。 。 。 。 。 。使用事件的步骤:(1)定义委托,如:访问修饰符delegate 返回值类型委托名();(2)定义触发事件的类及方法,如:class 类名 1 /定义事件访问修饰符event 委托名事件名;/定义方

40、法调用事件访问修饰符返回值类型方法名 1() /代码部分 /调用事件事件名(); (3)定义响应事件的类及方法,如:class 类名 2 /定义方法响应事件访问修饰符返回值类型方法名 2() /代码部分 (4)订阅事件 ,如:/创建响应事件类的对象类名 2 对象名 2= new 类名 2() ;/将类中方法给委托委托名委托对象名 =对象名 2.方法名 2;/创建触发事件类的对象类名 1 对象名 1=new 类名 1() ;/将委托加载到事件对象名 1.事件名 +=委托对象名;/调用触发事件的方法对象名 1.方法名 1(); this.button1.Click += new System.Ev

41、entHandler(this.button1_Click); 注意:委托事件的基础。第十章:文件操作精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 20 页 - - - - - - - - - - File 类-操作文件,是一个静态类Create(路径及文件名.后缀) -创建文件Delete(路径及文件名.后缀) -删除文件Exists(路径及文件名.后缀) -判断文件是否存在,存在返回true,不存在返回false Copy(源文件路径,目标文件路径)-复制文件内容Move(源文件路径,

42、目标文件路径)-移动文件(相当于剪切和粘贴)OpenWrite( 路径及文件名 .后缀 )-以写入的方式打开文件,返回值的类型:文件流FileStream 练习:在 e 盘下创建文件 :学习计划 .txt,然后将文件移动到d盘,再判断d 盘下是否存在该文件,如果存在,将文件删除向文件中写入内容的操作步骤(1)打开文件(可以判断,如果文件不存在则先创建,如果文件存在则以写的方式打开)(2)将要写进文件的内容用字节数组保存(3)调用文件流的Write ()方法将内容写进文件(4)关闭文件流GetBytes(内容) -将内容转换成字节数组Encoding.Default.GetBytes (内容)

43、-使用系统默认的字符集将内容转换成字节数组从文件中读取内容的操作步骤:(1)打开文件(可以判断文件是否存在)(2)定义字节数组(3)调用文件流的Read()方法,将文件中的内容读取到字节数组(4)将字节数组转换后输出(5)关闭文件流练习:向e盘下的“学些计划.txt”文件写入学习计划,然后读取学习计划,在控制台中打印File 类静态类, FileInfo 密封类使用建议:(1)如果需要对文件进行多次操作,应使用FileInfo 类,因为在创建对象时就指定了正确的路径,File 中的方法大多是静态的,每次都需要重新寻找文件,会花费更多资源(2)如果仅操作文件一次,应使用File 类,直接调用方法

44、,无需创建对象我的问题: WinForm 中的文件与Java中有何区别?第十一章:集合与泛型精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 20 页 - - - - - - - - - - 泛型: List T:表示任意数据类型,用来约束添加到集合中的内容ArrayList List 不相同点可以添加任何元素,添加元素时装箱,读取元素时拆箱。添加元素时有类型的约束,无需装箱和拆箱无需装箱和拆箱相同点相同点:可以动态的添加、删除元素,使用索引访问元素注意:使用ArrayList 的地方均可用L

45、ist 代替练习:定义员工类Employee,有属性:员工编号、员工姓名、入职时间、工资定义带参数的构造方法,重写ToString()方法创建 List 集合对象,添加 :100 王老五 1 2009-5-21 5000 101 王老五 2 2009-12-31 4500 102 王老五 3 2010-1-2 3000 输出集合中的所有元素插入: 10000 张三2010-5-10 1200 删除: 100 王老五 1 2009-5-21 5000 查找: 102 王老五 3 2010-1-2 3000 在集合中的索引Hashtable Dictionary 不同点可以添加任何元素,添加时装箱

46、,读取时拆箱。添加的元素有类型约束,无需装箱、拆箱。相同点相同点:动态的添加、删除元素,根据键访问元素练习:定义员工类Employee,有属性:员工编号、员工姓名、入职时间、工资定义带参数的构造方法,重写ToString()方法创建 Dictionary集合对象,添加 :100 王老五 1 2009-5-21 5000 101 王老五 2 2009-12-31 4500 102 王老五 3 2010-1-2 3000 输出所有键值输出所有值根据键输出值同时输入键和值查找王老五2 的对象是否存在删除编号为101 的员工如何理解三成唐老师的笔记:精品资料 - - - 欢迎下载 - - - - -

47、- - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 20 页 - - - - - - - - - - 三层结构: (3W1H) (一):问题1.什么是三层? what 2.为什么要三层?why 3.在那儿用三层?where 4.怎样塔建三层?how 5.哪三个层? which - 三层的生活中的案例:客户去茶馆吃饭,呼叫服务员点菜,服务员将菜单交给厨师做菜,厨师将做好的菜传递给服务员,服务员交给客户。(二):三层分为:UI( 表示层, User Interface), BLL(Business Logic Layer, 业务逻辑层 ),DAL(D

48、ata Access Layer, 数据访问层 ) (三):三层的依赖关系:1.数据访问层依赖于实体层与数据访问接口。2.业务逻辑层依赖于实体层与数据访问层3.表示依赖于实体层与业务逻辑层(四):三层的职责1.数据访问层:提起数据库中的数据,对数据进行增删改操作2.业务逻辑层:提取数据访问层中的数据,对数据进行业务功能上的筛选与验证。3.表示层:为客户提供人机交互界面。(五):三层的作用:分工明细,有利于软件的可维护性与可扩展性。一条记录,对应一个实体类,一张表的记录就对应一个泛型集合。一个表的增删改操作都保存在DAO 类中一个业务功能点的实现都需要在BLL 类中筛选与验证,BLL 中不包含任何的数据库操作语句。CNdotnet.我的理解:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 19 页,共 20 页 - - - - - - - - - - 文档编码:KDHSIBDSUFVBSUDHSIDHSIBF-SDSD587FCDCVDCJUH 欢迎下载 精美文档欢迎下载 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 20 页,共 20 页 - - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁