[2018年最新整理]C#知识点汇总.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[2018年最新整理]C#知识点汇总

第1部分 .NET基本概念 1.应用程序域:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。应用程序域提供安全而通用的处理单元,公共语言运行库可使用它来提供应用程序之间的隔离。开发者可以在具有同等隔离级别(存在于单独的进程中)的单个进程中运行几个应用程序域,而不会造成进程间调用或进程间切换等方面的额外开销。在一个进程内运行多个应用程序的能力显著增强了服务器的可伸缩性。 2.CTS:通用类型系统。CTS:类似于COM定义的标准二进制格式,.NET定义了一个称为通用类型系统 Common Type System (CTS)的类型标准。这个类型不但实现COM的变量兼容,而且还定义了通过用户自定义类型的方式进行类型扩展。任何类型的方式进行类型扩展。任何以.NET平台作为目标的语言必须建立它的数据类型与CTS的类型间的影射。所有.NET语言共享这一类型系统,实现他们之间无缝的互操作。该方案还提供了语言之间的继承性。 3.CLS:公共语言规范。.NET通过定义公共语言规范(CLS:Common Language Specification),限制了由这些不同引发的互操作性问题。CLS指定了一种以.NET平台为目标的语言所必须支持的最小特征,以及该语言与其他.NET语言之间实现互操作性所需要的完备特征。CLS是CTS的一个子集。 4.CLR:公共语言运行库Common Language Runtime(CLR).CLR是CTS的实现,也就是说,CLR是应用程序的执行引擎和功能齐全的类库,该类库严格按照CTS规范实现。作为程序执行引擎,CLR负责安全地载入和运行用户程序代码,包括对不同对象的垃圾挥手和安全检查。CLR监控之下运行的代码,称为托管代码(managed code)。 5.IL(Intermediate Language,中间语言):可用于语言互操作性,IL不是字节代码,但很接近字节代码,因此执行应用程序时,IL到机器代码的转换要快很多。独立于CPU的指令集。由CLR转换为特定于CPU的代码。 6.Microsoft Intermediate Language (MSIL)微软中间语言:MSIL是将.NET代码转化为机器语言的一个中间过程。它是一种介于高级语言和基于Intel的汇编语言的伪汇编语言。 7.托管代码:在.NET环境中运行的代码都称之为受管制的代码(托管代码),在.NET环境之外,在Windows上运行的代码称之为不受管制的代码。 8. Assembly(程序集): (1)Assembly是一个部署的单元,比如EXE或者一个DLL (2)Assembly包含一个或者多个文件(dll, exe或者HTML文件),Assembly代表一组资源,类型定义和这些类型的实现,一个Assembly可能还包含对其他Assembly的引用, 这些资源,类型和应用时在一个manifest得数据块中描述的。这个manifest是Assembly的一部分,它是的Assembly实现了自描述。 (3)一个Assembly是完全的自描述的。一个Assembly包含有元数据,CLR使用这些元数据用来进行类型检查,安全等一切操作。 因为所有的信息都是在assembly内部,所以它是不需要注册的,这就是它相对于COM的基本优势。 (4)多个不同版本的Assembly可以部署到平级的不同文件夹内, 这些不同的版本可以不相影响的共同执行。Assembly可以使私有的也可以是共享的,私有的Assembly部署时,是被拷贝到引用它的客户程序相同的目录, 不需要注册,也不需要安装。当元件被删除时,也不需要清理注册表,同时也不需要卸载程序,之需要删除就好了。 (5)在共享程序集部署中,一个程序集被安装在了Glabal Assembly Cache中, GAC包含可供这个机器上所有.NET应用访问的程序集。 9.GAC:GAC(Global Assembly Cache, 全局程序集缓存)使用在共享的.NET程序集所在的目录。它解决了几个程序共享某一个程序集的问题。不必再将那个被共享的程序集拷贝到应用程序目录。.NET应用程序在加载的时候,会首先查看全局应用程序集缓存,如果有就可以直接使用,没有再到应用程序目录进行查找。它在以下几种情况下使用:(1)如果一个应用必须在在几个不同的应用间共享。(2)如果一个程序集有一些特定的安全需求,例如只有管理员可以删除这个Assembly, 如果一个程序集是私有的那么只要简单的删除Assembly文件就可以删除这个程序集。 10.GC:(Garbage Collection,垃圾收集器)。垃圾回收器是用来管理应用程序的内存分配和释放的。在垃圾回收器出现以前,程序员在使用内存时需要向系统申请内存空间。有些语言,例如

文档评论(0)

liwenhua00 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档