欢迎来到天天文库
浏览记录
ID:40546358
大小:205.98 KB
页数:3页
时间:2019-08-04
《c#考试PPT资料整理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第一章.netFramework.NETFramework两个主要组件:统一的类库集公共语言运行时(CLR)Microsoft.NETFramework的体系结构.netFramework组件CLR和MSIL■.NETFramework的核心是其运行库的执行环境,称为公共语言运行库(CLR)或.NET运行库。在CLR的控制下运行的代码常常称为托管代码(managedcode)。■在CLR执行开发的源代码之前,需要编译(在C#中或其他语言中)。在.NET中,编译分为两个阶段:(1)把源代码编译为Microsoft中间语言(IL)。(2)CLR把IL编
2、译为平台专用的代码。托管代码的优点■Microsoft中间语言与Java字节代码共享一种理念:它们都是一种低级语言,语法很简单(使用数字代码,而不是文本代码),可以非常快速地转换为内部机器码。对于代码来说,这种精心设计的通用语法,有很重要的优点。(1)平台无关性编译为中间语言就可以获得.NET平台无关性,这与编译为Java字节代码就会得到Java平台无关性是一样的。(2)提高性能IL比Java字节代码的作用还要大。IL总是即时编译的(称为JIT编译),而Java字节代码常常是解释性的,Java的一个缺点是,在运行应用程序时,把Java字节代码转换为
3、内部可执行代码的过程会导致性能的损失(但在最近,Java在某些平台上能进行JIT编译)。JIT编译器并不是把整个应用程序一次编译完(这样会有很长的启动时间),而是只编译它调用的那部分代码。代码编译过一次后,得到的内部可执行代码就存储起来,直到退出该应用程序为止,这样在下次运行这部分代码时,就不需要重新编译了。JIT编译器确切地知道程序运行在什么类型的处理器上,利用该处理器提供的任何特性或特定的机器代码指令来优化最后的可执行代码。所以能提高性能(3)语言的互操作性使用IL不仅支持平台无关性,还支持语言的互操作性。简言之,就是能将任何一种语言编译为中间
4、代码,编译好的代码可以与从其他语言编译过来的代码进行交互操作。CLS和CTSn通用语言规范(CLS)n规定所有.NET语言都应遵循的规则n生成可与其他语言互操作的应用程序n公共类型系统(CTS)通常n包含标准数据类型n包含准则集.NET的类库线程文件输入/输出(I/O)数据库支持XML解析数据结构基本框架类第二章C#高级特性:委托与事件委托(delegate)和事件(event)n委托是C#的一种新的object类型,与class相似n委托是事件的基础委托的声明和使用n使用delegate关键字声明n声明类似函数,但没有函数体n可以封装任何参数和返
5、回类型与委托声明的参数和返回类型一致的方法n和C++的函数指针类似n声明格式如下:[modifiers]delegateresult-typeIdentifier([formal-parameters])nModifiers为修饰符,如new,public,protected,internal,privatenresult-type为返回类型nIdentifier为委托名称nformal-parameters为参数类型,如是指针,必须使用unsafe修饰n例2.1:usingSystem;usingSystem.Collections.Generi
6、c;usingSystem.Text;namespaceOpns{publicclassAddFunc{staticpublicvoidAdd(intfop,intsop)//可委托的函数{intresult=fop+sop;Console.WriteLine("{0}+{1}={2}",fop,sop,result);}}publicclassMath_Op{//声明委托类型OpDelegatepublicdelegatevoidOpDelegate(intfop,intsop);//delegate是一个关键字,与class作用相似,如publ
7、icclassStudent{};//声明一个OpDelegate的对象publicOpDelegateOp;protectedint_fop;protectedint_sop;publicMath_Op(intfop,intsop){_fop=fop;_sop=sop;}}classProgram{staticvoidMain(string[]args){Math_Opmo=newMath_Op(200,100);//实例化Op对象mo.Op=newMath_Op.OpDelegate(AddFunc.Add);//使用委托对象Op运行函数Add
8、//voidAdd(intfop,intsop)与voidOpDelegate(intfop,intsop)返回类型、形/
此文档下载收益归作者所有