网站底部设计代码,小企业网站建设是怎么做的,优设网免费素材,大连网站制作中企动力第1章 C# 和 .NET 框架
1.1 在 .NET 之前
C#为在.NET框架上开发程序而设计的编程语言。
MFC#xff08;Microsoft Foundation Class#xff0c;微软基础类库#xff09;
微软公司提供的一个类库#xff0c;以 C 类的形式封装了 Windows 的 API#xff0c;并包含一个应…第1章 C# 和 .NET 框架
1.1 在 .NET 之前
C#为在.NET框架上开发程序而设计的编程语言。
MFCMicrosoft Foundation Class微软基础类库
微软公司提供的一个类库以 C 类的形式封装了 Windows 的 API并包含一个应用程序框架以减少应用程序开发人员的工作量。其中包含的类包含大量 Windows 句柄封装类和很多 Windows 的内建控件和组件的封装类。
COMComponent Object Model组件对象模型
基于 Windows 平台的一套组件对象接口标准由一组构造规范和组件对象库组成。组件对象不使用方法而用接口来描述自身。
1.2 .NET 时代
.NET 框架是一种面向对象的环境主要特点
多平台可以在各种计算机上运行。行业标准使用行业标准的通信协议如 XML、HTTP、SOAP、JSON 和 WSDL。安全性提供安全的执行环境即使有来源可疑的代码存在。
1.2.1 .NET框架组成
.NET框架由三部分组成CLRCommon Language Runtime公共语言运行库、BCLBase Class Library基类库、编程工具。
CLR在运行时管理程序的执行主要内容有
内存管理和垃圾收集代码安全验证代码执行、线程管理及异常处理。
BCLBase Class Library基类库是 .NET 框架使用的一个大类库可以在程序中使用。
编程工具包括编码和调试需要的一切主要包括 集成开发环境 IDE .NET兼容的编译器 调试器 Web开发服务器端技术
1.2.2 大大改进的编程环境
.NET主要特点及好处
1.面向对象的开发环境
CLR、BCL 和 C# 完全面向对象形成良好的集成环境。
系统为本地程序和分布式系统都提供了一直的、面向对象的编程模型。
2.自动垃圾收集
GCGarbage Collector垃圾收集器自动管理内存自动删除程序不再访问的对象。
3.互操作性 允许不同的 .NET 语言编写的软件模块无缝交互。 只要遵循一定的规则.NET 语言的程序可以相互使用其他 .NET 语言写的类 能够很容易集成不同编程语言生成的模块.NET 框架也被称为“语言无关”。 提供平台调用特性Platform InvokeP/Invoke允许 .NET 代码调用非 .NET 代码。 .NET 框架能与 COM 组件相互调用。
4.不需要COM
摆脱了COM的束缚
5.简化的部署
不需要使用注册表注册。 提供并行执行的特性允许 DLL 不同版本在同一台机器上存在。
6.类型安全性
CLR 检查并确保参数及其他数据对象的类型安全。
7.基类库
.NET 框架提供庞大的基础类库BCL有时也称为 FCLFramework Class Library框架类库。
主要包括
通用基础类
集合类
线程和同步类 - 用于创建多线程程序
XML类 - 用于创建、读写XML文档
1.3 编译成 CIL
.NET 语言的编译器接受源代码文件生成名为程序集的输出文件
程序集里的代码不是本机代码而是CILCommon Intermediate Language公共中间语言的中间语言。
程序集 主要包含
程序的 CIL 程序中使用的类型的元数据 对其他程序集引用的元数据。
1.4 编译成本机代码并执行
程序集的 CIL 直到被调用运行时才会被编译成本机代码运行时执行的步骤 1.检查程序集的安全特性 2.在内存中分配空间 3.把程序集中的可执行代码发送给 JITJust-In-Time即时编译器把其中一部分内容编译为本机代码。
程序集中的可执行代码只在需要的时候由 JIT 编译之后被缓存起来供后续使用。不被调用的代码不会被编译为本机代码被调用的代码只会被编译一次。
一旦 CIL 被编译为本机代码CLR 就在运行时对它进行管理如释放无主内存、检查数组边界、检查参数类型和管理异常等。
托管代码由 .NET 框架编写的代码需要 CLR。
非托管代码不在 CLR 控制之下运行的代码如 C/C、DLL。
编译和执行过程
源文件 → 编译器 → 程序集 → JIT编译器 → 本机代码 → 操作系统
1.5 CLR
CLR 是 .NET 框架的核心组件位于操作系统的顶层负责管理程序的执行、自动垃圾收集、安全和认证
1.6 CLI
CLICommon Language Infrastructure公共语言基础结构
一组 .NET 标准将 .NET 框架的所有组件连接成一个内聚、一致的系统详细说明了所有软件都必须遵守的规则和约定
主要组成部分
1.CTSCommon Type System公共类型系统
定义了在托管代码中一定会使用的类型的特征如
定义了一组丰富的内置类型及每种类型固有、独有的特性 .NET 兼容编程语言提供的类型通常映射到 CTS 中已定义的内置类型集的某一个特殊子集 所有类型都继承 Object 可以确保系统类型和用户定义类型能被任何 .NET 兼容的语言所使用。
2.CLSCommon Language Specification公共语言规范
详细说明了 .NET 兼容编程语言的规则、属性和行为包括数据类型、类结构和参数传递。
1.7 各种缩写
Common Intermediate Language, CIL 公共中间语言
Common Language Infrastructure, CLI 公共语言基础结构
Common Type System, CTS 公共类型系统
Common Language Standard, CLS 公共语言规范
Common Language RunTime CLR 公共语言运行库
Garbage Collect,GC 垃圾收集器
Just-In-Time JIT 即时编译器
Base Class Library BCL 基类库
1.8 C# 的演化
C#最新版本 13.0本书中 对应版本是7.0
1.9 C# 和 Windows 的演化
C#是一门优雅的语言