【读书笔记】C#高级编程(一).NET体系结构
写在前面:从业两年来,一直停留在会用的阶段,而没有去仔细思考过为什么这么用,之前也大致扫过《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 名称空间
最新文章
- 运用<;div>;布局页面练习
- SQL存储过程,使用事务(try catch),游标
- Setup Factory Error3014
- 传说中的WeixinJSBridge和微信rest接口
- python的变量传递
- poj2429:因数分解+搜索
- OpenSSL命令---req
- UVALive 6472 Powers of Pascal
- 我是如何给discuz模板做语法高亮的
- .Net Core 上传图片
- Xamarin控件使用之GridView
- Node.js 子进程
- CodeForces 280B Maximum Xor Se
- cf——C. Serval and Parenthesis Sequence
- Dijkstra—校园景点游览问题
- 关于CPU CACHE工作机制的学习
- Day6------------硬盘分区
- LINUX的STRACE命令用法 [转]
- SqlServer中的merge操作(转载)
- (转)HttpClient 模拟登陆,保持会话并进行后续操作
热门文章
- linking against a dylib which is not safe for use in application extensions
- The method identifyUser(Arrays.asList(";group001";), String, new HashMap<;>;()) is undefined for the type AipFace
- kali 插耳机没声音
- 写excel
- C# Winform下一个热插拔的MIS/MRP/ERP框架(多语言方案)
- linux系统安全及应用——账号安全(基本安全措施)
- Sample-Code:Bing Search API
- Java实现二维码生成的方法
- 【转】Caused by: Action class [com.struts.action.xxxAction] not found 解决方法
- python之模块引入