C#知识点汇总(共7页).doc
《C#知识点汇总(共7页).doc》由会员分享,可在线阅读,更多相关《C#知识点汇总(共7页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第1部分 .NET基本概念1.应用程序域:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。应用程序域提供安全而通用的处理单元,公共语言运行库可使用它来提供应用程序之间的隔离。开发者可以在具有同等隔离级别(存在于单独的进程中)的单个进程中运行几个应用程序域,而不会造成进程间调用或进程间切换等方面的额外开销。在一个进程内运行多个应用程序的能力显著增强了服务器的可伸缩性。2.CTS:通用类型系统。CTS:类似于COM定义的标准二进制格式,.NET定义了一个称为通用类型系统 Common Type System (CTS)的类型标准。这个类型不但实现COM的变
2、量兼容,而且还定义了通过用户自定义类型的方式进行类型扩展。任何类型的方式进行类型扩展。任何以.NET平台作为目标的语言必须建立它的数据类型与CTS的类型间的影射。所有.NET语言共享这一类型系统,实现他们之间无缝的互操作。该方案还提供了语言之间的继承性。3.CLS:公共语言规范。.NET通过定义公共语言规范(CLS:Common Language Specification),限制了由这些不同引发的互操作性问题。CLS指定了一种以.NET平台为目标的语言所必须支持的最小特征,以及该语言与其他.NET语言之间实现互操作性所需要的完备特征。CLS是CTS的一个子集。4.CLR:公共语言运行库Com
3、mon Language Runtime(CLR).CLR是CTS的实现,也就是说,CLR是应用程序的执行引擎和功能齐全的类库,该类库严格按照CTS规范实现。作为程序执行引擎,CLR负责安全地载入和运行用户程序代码,包括对不同对象的垃圾挥手和安全检查。CLR监控之下运行的代码,称为托管代码(managed code)。5.IL(Intermediate Language,中间语言):可用于语言互操作性,IL不是字节代码,但很接近字节代码,因此执行应用程序时,IL到机器代码的转换要快很多。独立于CPU的指令集。由CLR转换为特定于CPU的代码。6.Microsoft Intermediate L
4、anguage (MSIL)微软中间语言:MSIL是将.NET代码转化为机器语言的一个中间过程。它是一种介于高级语言和基于Intel的汇编语言的伪汇编语言。7.托管代码:在.NET环境中运行的代码都称之为受管制的代码(托管代码),在.NET环境之外,在Windows上运行的代码称之为不受管制的代码。8. Assembly(程序集):(1)Assembly是一个部署的单元,比如EXE或者一个DLL(2)Assembly包含一个或者多个文件(dll, exe或者HTML文件),Assembly代表一组资源,类型定义和这些类型的实现,一个Assembly可能还包含对其他Assembly的引用, 这些
5、资源,类型和应用时在一个manifest得数据块中描述的。这个manifest是Assembly的一部分,它是的Assembly实现了自描述。(3)一个Assembly是完全的自描述的。一个Assembly包含有元数据,CLR使用这些元数据用来进行类型检查,安全等一切操作。 因为所有的信息都是在assembly内部,所以它是不需要注册的,这就是它相对于COM的基本优势。(4)多个不同版本的Assembly可以部署到平级的不同文件夹内, 这些不同的版本可以不相影响的共同执行。Assembly可以使私有的也可以是共享的,私有的Assembly部署时,是被拷贝到引用它的客户程序相同的目录, 不需要注
6、册,也不需要安装。当元件被删除时,也不需要清理注册表,同时也不需要卸载程序,之需要删除就好了。(5)在共享程序集部署中,一个程序集被安装在了Glabal Assembly Cache中, GAC包含可供这个机器上所有.NET应用访问的程序集。9.GAC:GAC(Global Assembly Cache, 全局程序集缓存)使用在共享的.NET程序集所在的目录。它解决了几个程序共享某一个程序集的问题。不必再将那个被共享的程序集拷贝到应用程序目录。.NET应用程序在加载的时候,会首先查看全局应用程序集缓存,如果有就可以直接使用,没有再到应用程序目录进行查找。它在以下几种情况下使用:(1)如果一个应
7、用必须在在几个不同的应用间共享。(2)如果一个程序集有一些特定的安全需求,例如只有管理员可以删除这个Assembly, 如果一个程序集是私有的那么只要简单的删除Assembly文件就可以删除这个程序集。10.GC:(Garbage Collection,垃圾收集器)。垃圾回收器是用来管理应用程序的内存分配和释放的。在垃圾回收器出现以前,程序员在使用内存时需要向系统申请内存空间。有些语言,例如Visual Basic,可以自动完成向系统申请内存空间的工作。但是在诸如Visual C+的语言中要求程序员在程序代码中申请内存空间。如果程序员在使用了内存之后忘了释放内存,则会引起内存泄漏。程序员不用担
8、心内存管理,对象在离开生存期后垃圾收集器会自动进行内存回收。1112强类型与弱类型:强类型是在编译的时候就确定类型的数据,在执行时类型不能更改,而弱类型在执行的时候才会确定类型。二者各有好处,强类型安全,因为它事先已经确定好了,而且效率高。一般用于编译型编程语言,如c+,java,c#,pascal等,弱类型相比而言不安全,在运行的时候容易出现错误,但它灵活,多用于解释型编程语言,如javascript,vb等13.面向对象编程语言的特征:(1)封装:封装是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏(2)继承:继承指可以使用现有类,并
9、在无需重新编写的情况下创建新类的过程,通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”(3)多态:是允许将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是允许将子类类型的指针赋值给父类类型的指针。14. 进程和线程:进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。15.堆和栈的区别?答:栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。堆:一般由程序员分配释放。用new、malloc等分配内存
10、函数分配得到的就是在堆上。16. 程序开发中的三层架构:三层指的是表示层、业务逻辑层和数据访问层。表示层:用户界面,和用户进行交互。业务逻辑层:业务逻辑主要是自定义一些业务规则,完成一些功能。数据访问层:和数据库打交道,进行数据的查询和操作。三层架构主要体现出对程序分而治之的思想,数据访问层只负责提供原始数据,并不需要业务逻辑是什么;业务逻辑层调用数据访问层提供的方法,实现一些业务逻辑,本身不需要了解数据访问层的实现;表示层直接调用业务逻辑提供的方法,把数据呈现给用户,同样,它也不需要了解业务逻辑层和数据访问层是怎么实现的。这样的好处就是降低耦合,易于程序的维护和扩展,每一层都可以由不同的团队
11、来开发,便于分工。第2部分 C#基本语法1. C#中的循环方法:1) do: 先循环后判断循环条件Do/ 循环体while(循环条件);2) while:根据条件判断是否循环While(循环条件)/ 循环体3) for:可以指定循环次数,递增量等,功能强大for(初始值; 条件;递增)/循环体4) foreach:遍历集合,效率最好foreach(类型 变量 in 集合)/循环体2. C#中的三元运算符:表达式 ? 结果1(表达式为true时执行) :结果2(表达式为false时执行)3. .NET中所有类型的基类是Object4. 运算符&和运算符&:&是位运算符,表示按位与运算,&是逻辑运
12、算符,表示逻辑与(and).5. C#中的访问修饰符private、 protected、 public、 internal的访问权限:(1)private : 私有成员, 在类的内部才可以访问。 (2)protected : 保护成员,该类内部和继承类中可以访问。 (3)public : 公共成员,完全公开,没有访问限制。 (4)internal: 在同一命名空间内可以访问。 7. 在循环语句中break语句和continue语句的用途:break语句用于终止循环,当break语句执行后,该循环未执行的循环体不再被执行,而是转而执行循环语句的下一条语句;continue语句用于中止执行本次循
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 知识点 汇总
限制150内