当运行Windows应用程序的时候,CLR总是默默地为服务着。CLR到底是如何被加载并运行呢? 首先,Microsoft专门为CLR定义了一个标准的COM接口。 安装某个版本的.NET Framework,CLR被包含在DLL中,作为COM服务器在Windows注册表中注册。 一台电脑上可能安装多个...
分类:
其他好文 时间:
2014-12-12 11:16:43
阅读次数:
154
泛型(generic)是C#语言2.0和通用语言运行时(CLR)的一个新特性。泛型为.NET框架引入了类型参数(type parameters)的概念。类型参数使得设计类和方法时,不必确定一个或多个具体参数,其的具体参数可延迟到客户代码中声明、实现。这意味着使用泛型的类型参数T,写一个类MyList...
分类:
其他好文 时间:
2014-12-11 18:46:12
阅读次数:
150
1.装箱为了将一个值类型转换成一个引用类型,要使用一个名为装箱(Boxing)的机制。1.在托管堆中分配好内存。分配的内存量是值类型的各个字段需要的内存量加上托管堆的所有对象都有的两个额外成员(类型对象指针和同步块索引)需要的内存量。2.值类型的字段复制到新分配的堆内存。3.返回对象的地址。现在,这...
分类:
其他好文 时间:
2014-12-11 18:44:37
阅读次数:
145
C#程序设计教程 作者:WuDe 时间:20140626 第1章 C#程序设计基础 1.1 C#基础 概述 .NET是一个平台 C#是一门语言 编译原理 编写源代码 C#编译器将C#源代码编译成MSIL 将中间代码交给CLR的即时编译器(JIT)将微软中间语言转化成相应的机器码(CPU指令) 交给C...
分类:
其他好文 时间:
2014-12-11 15:26:02
阅读次数:
936
(一)什么时路由事件功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件。实现定义:路由事件是一个 CLR 事件,可以由 RoutedEvent 类的实例提供支持并由 Windows Presentation Foundation (WPF) 事件系...
C#程序设计教程
作者:WuDe
时间:20140626
C#程序设计基础
C#基础
概述
.NET是一个平台
C#是一门语言
编译原理
编写源代码
C#编译器将C#源代码编译成MSIL
将中间代码交给CLR的即时编译器(JIT)将微软中间语言转化成相应的机器码(CPU指令)
交给CPU运行机器码
...
CLR提供了自动内存管理。Managed memory不需要我们显式地释放。当进行Garbage Collection时,会自动释放。但是,managed memory仅仅是许多种系统资源中的一种。除了managed memory之外的其他需要显式地释放的资源,被称为unmanaged resour...
is 和 as 操作符是用来进行强制类型转换的is : 检查一个对象是否兼容于其他指定的类型,并返回一个Bool值,永远不会抛出异常 object o = new object(); if (o is Label) { Label ...
分类:
其他好文 时间:
2014-12-10 01:44:56
阅读次数:
145
第1章 C#程序设计基础 1.1 C#基础 概述 .NET是一个平台 C#是一门语言 编译原理 1) 编写源代码 2) C#编译器将C#源代码编译成MSIL 3) 将中间代码交给CLR的即时编译器(JIT)将微软中间语言转化成相应的机器码(CPU指令) 4) 交给CPU运行机器码 被CLR所管理的代...
作者:WuDe 时间:20140626 第1章 C#程序设计基础 1.1 C#基础 概述 .NET是一个平台 C#是一门语言 编译原理 编写源代码 C#编译器将C#源代码编译成MSIL 将中间代码交给CLR的即时编译器(JIT)将微软中间语言转化成相应的机器码(CPU指令) 交给CPU运行机器码; ...