写在前面:从业两年来,一直停留在会用的阶段,而没有去仔细思考过为什么这么用,之前也大致扫过《c#高级编程》一书,这次想借一袭脑海中的冲动,再次好好仔细过过这本书,夯实基础,温故知新。

一、NET体系结构

  1.1 c#与.NET的关系

    C#本质来言是一门语言,.NET是一个技术平台。

  1.2 公共语言库

    .NET FrameWork的核心是运行执行环境也就是公共语言运行库(CLR)。在.NET中,编译分为两个阶段:(1)把源代码编译成Microsoft中间语言(IL);(2)CLR把IL编译成平台专用的代码

  1.3 中间语言

    中间语言的主要特征:面向对象和使用接口、值类型和引用类型之间的显著差异、强数据类型化、使用异常来处理错误、使用特性(attribute);

    面向对象和接口

    值类型和引用类型:值类型:变量直接存储其数据;而引用类型,变量仅存储地址,对应的数据在该地址中;

        强数据类型化:所有变量都清晰的属于某一个特殊的数据类型。通用数据系统(CTS):

    垃圾回收:.NET平台有两种技术来释放进程向系统动态请求的内存。1)完全以手工方式是应用程序代码完成这些工作(dispose方法)2)让对象维护引用计数

  1.4 程序集

    程序集(assembly)是包含编译好的、面向.NET Framework的代码的逻辑单元。两种类型:私有程序集和共享程序集。

    私有程序集:一般附带在某个软件上,只能用在该软件。

    共享程序集:其他应用程序也可以使用的公共库。存在名称冲突和程序集与某些客户端代码不兼容两种风险。名称冲突通过私钥加密法给共享程序集赋一个强名称(strong name)。代码不兼容的问题通过给程序集清单增加版本信息来解决。

  1.5 .NET Framework类

  1.6 名称空间

最新文章

  1. 运用<div>布局页面练习
  2. SQL存储过程,使用事务(try catch),游标
  3. Setup Factory Error3014
  4. 传说中的WeixinJSBridge和微信rest接口
  5. python的变量传递
  6. poj2429:因数分解+搜索
  7. OpenSSL命令---req
  8. UVALive 6472 Powers of Pascal
  9. 我是如何给discuz模板做语法高亮的
  10. .Net Core 上传图片
  11. Xamarin控件使用之GridView
  12. Node.js 子进程
  13. CodeForces 280B Maximum Xor Se
  14. cf——C. Serval and Parenthesis Sequence
  15. Dijkstra—校园景点游览问题
  16. 关于CPU CACHE工作机制的学习
  17. Day6------------硬盘分区
  18. LINUX的STRACE命令用法 [转]
  19. SqlServer中的merge操作(转载)
  20. (转)HttpClient 模拟登陆,保持会话并进行后续操作

热门文章

  1. linking against a dylib which is not safe for use in application extensions
  2. The method identifyUser(Arrays.asList("group001"), String, new HashMap<>()) is undefined for the type AipFace
  3. kali 插耳机没声音
  4. 写excel
  5. C# Winform下一个热插拔的MIS/MRP/ERP框架(多语言方案)
  6. linux系统安全及应用——账号安全(基本安全措施)
  7. Sample-Code:Bing Search API
  8. Java实现二维码生成的方法
  9. 【转】Caused by: Action class [com.struts.action.xxxAction] not found 解决方法
  10. python之模块引入