.NET 框架程序设计
裸奔的蜗牛
知其然,更要知其所以然。
展开
-
.Net 框架程序设计(3)
1 类型系统 对CLR进行的所有活动都是以类型为基础的,类型为应用程序和组件提供了所需的功能,类型也提供了一种机制可以让一种语言编写的代码和另一种语言编写的代码进行无缝的集成,从某种意义上说,CLR是对CTS的一种实现。 1)通用类型系统 微软制定了一种叫CTS规范,它规定了所有面向CLR的语言应该遵守的集合。它规定了一个类型可以包含0个或多个成原创 2012-11-26 21:27:11 · 951 阅读 · 0 评论 -
.Net 框架程序设计(1)
1 .Net 框架组成 .Net 框架包含两个部分:通用语言运行时(CLR)和框架类库(FCL)。 CLR是Common Language Runtime的简称,它是一个运行时环境,在程序运行时负债内存的分配和资源的回收,对代码执行严格的类型安全检查,并保证应用程序和操作系统间有效的分离。它内置一个JITCompiler,在程序启动后把编译后的IL代码即时的转换原创 2012-11-17 22:23:15 · 1367 阅读 · 0 评论 -
.Net 框架程序设计(2)
1 程序的执行 在.Net平台上语言已经不是阻碍我们进行软件开发的绊脚石,目前它已经支持了多种当前流行的开发语言,在不久的将来会有更多的编译器厂家推出针对某种语言的编译器,到时我们可以用我们擅长的语言去开发应用程序。 作为一个程序员,在编码完成后很少人会去想我们的程序如何运行的。带着这个问题,就我当前能了解到的知识来认识下.Net平台下的程序是如何一步步“走”下原创 2012-11-19 21:22:06 · 690 阅读 · 0 评论 -
.Net 框架程序设计(6)
1 Configuration结构 配置文件是我们经常使用的,和ini文件相比,它的可读性好,扩展性强,能比较容易的保存复杂的配置。我们常用的节点如下: appsetting节点,包含客户端应用程序配置,以键值对的方式保存诸如数据库连接字符串、文件路径等信息。 connectionStrings节点,以名值对的方式提供数据库连接字符串的集合。 configSections节点,包含指定的配原创 2012-12-18 10:55:56 · 632 阅读 · 0 评论 -
.Net 框架程序设计(5)
1 认识string 字符串是我们编程中使用最多的类型之一,在C#语言中它作为基元类型。从继承性上来说,string直接继承自object,它是一个引用类型,总是分配在托管堆中,但是它的行为表现的却有着值类型的特性,比如它可以不用new去构建对象,而可以直接赋值的方式;作为函数的引用类型参数,在函数内的操作不会影响到形参等等。 class Program { s原创 2012-12-17 13:05:00 · 593 阅读 · 0 评论 -
.Net 框架程序设计(4)
1 值传递和引用传递 值传递是传递的值的拷贝;引用传递是传递的对象本身。 测试代码: classProgram { staticvoid Main(string[] args) { SomeValueType valueParam; SomeRefType refParam = new Some原创 2012-12-04 15:42:18 · 786 阅读 · 0 评论 -
C# 托管资源和非托管资源
托管资源指的是.NET可以自动进行回收的资源,主要是指托管堆上分配的内存资源。托管资源的回收工作是不需要人工干预的,有.NET运行库在合适调用垃圾回收器进行回收。 非托管资源指的是.NET不知道如何回收的资源,最常见的一类非托管资源是包装操作系统资源的对象,例如文件,窗口,网络连接,数据库连接,画刷,图标等。这类资源,垃圾回收器在清理的时候会调用Object.Finalize(转载 2013-12-28 08:29:37 · 408 阅读 · 0 评论 -
Dispose 模式
需要明确一下C#程序(或者说.NET)中的资源。简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类: 托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象; 非托管资源:不受CLR管理的对象,windows内核对象,如文件、数据库连接、套接字、COM对象等; 毫无例外地,如果我们的类型使用到了非托管资源,或者需要显式释放的托管资源,那么,就需要让类型继承接口IDi转载 2013-12-28 08:30:17 · 627 阅读 · 0 评论