第1章 C#与NET平台介绍
本章目标
了解.NET Framework 的结构
理解.NET Framework 的基本概念
CLR
JIT
CTS
MSIL
了解 .NET Framework 命名空间
了解C#程序的基本结构
1 C#语言的由来
在过去的二十年里,C和C++已经成为在商业软件的开发领域中
使用最广泛的语言。它们为程序员提供了十分灵活的操作,不过
同时也牺牲了一定的开发效率。与VB等语言相比,同等级别的
C/C++应用程序往往需要更长时间来开发。由于C/C++语言的
复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与
效率之间找到一个更为理想的权衡点。
VB 以 牺 牲 灵 活 性 的 代 价 来 提 高 效 率 。 可 是 这 些 灵 活 性 正 是
C/C++程序员所需要的。这些解决方案对编程人员的限制过多
(如屏蔽一些底层代码控制的机制),所提供的功能难以令人满
意。这些语言无法方便地同早先的系统交互,也无法很好地和当
前的网络编程相结合。
对于C/C++用户来说,最理想的解决方案无疑是在快速开发的同时
又可以调用底层平台的所有功能。他们想要一种和最新的网络标准保
持同步并且能和已有的应用程序良好整合的环境。另外,一些
C/C++开发人员还需要在必要的时候进行一些底层的编程。
C# (C sharp) 是对这一问题的解决方案。C#是一种新的、面向对
象的编程语言。它使得程序员可以快速地编写各种基于
Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的
工具和服务来最大程度地开发利用计算与通讯领域。
C#语言的特点:
C#语言是Microsoft发布的一种全新的编程语言,是
其.Net战略的一枚重要棋子。
C#语言是面向对象的、现代的编程语言,用C#编写的应
用程序可以充分利用.Net的框架体系带来的优点.既可以
用来编写基于通用网络协议的Internet服务软件,也可以
编写各种数据库、网络服务应用程序和Windows窗口界
面程序。
C#继承了C/C++的优点和灵活性,能够充分利用OS系
统的底层功能,同时又具备了完全的面向对象特性。可以
让初学者直接了解面向对象编程的各种概念,学习现代的
编程思想和手段。
2 .NET代码的编译
语言特定的编译器和运行库
VB
编译器
可执行
代码
编译器
C++
可执行
代码
R
U
N
T
I
M
E
R
U
N
T
I
M
E
代码
被执行
IL 和 CLR 的使用
Intermediate Language
Common Language Runtime
VB
编译器
C++
编译器
可执行
代码
IL
+
元数据
可执行
代码
R
U
N
C
T
I
L
M
E R
U
R
N
T
I
M
E
代码
被执行
编译执行 .NET 程序
.NET
源代码
语言
编译器
MSIL
+
元数据
CLR
机器
代码
代码
被执行
第二次编译
第一次编译
.NET 程序被编译两次,第一次编译很慢,而第二次
编译较快!
Microsoft 中间语言
.NET 源
代码
语言
编译器
MSIL
MSIL
+
元数据
CLR
机器
代码
代码
被执行
帮助语言实现互
操作
IL 不是字节代码,但很接
近字节代码。因此,执行
应用程序时,IL 到机器码
的转换速度非常快!
通过 CLR将 MSIL
转换为具体 CPU 的
代码
CPU 无关的指令集