C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架

03-06 1061阅读 0评论

文章目录

    • 1.1 在 .NET 之前
    • 1.2 .NET 时代
      • 1.2.1 .NET 框架的组成
      • 1.2.2 大大改进的编程环境
      • 1.3 编译成 CIL
      • 1.4 编译成本机代码并执行
      • 1.5 CLR
      • 1.6 CLI
      • 1.7 各种缩写
      • 1.8 C# 的演化
      • 1.9 C# 和 Windows 的演化(*)

        1.1 在 .NET 之前

        • MFC(Microsoft Foundation Class,微软基础类库)

          C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架,C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,使用,访问,管理,第1张
          (图片来源网络,侵删)

          微软公司提供的一个类库,以 C++ 类的形式封装了 Windows 的 API,并包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量 Windows 句柄封装类和很多 Windows 的内建控件和组件的封装类。

        • COM(Component Object Model,组件对象模型)

          基于 Windows 平台的一套组件对象接口标准,由一组构造规范和组件对象库组成。组件对象不使用方法而用接口来描述自身。

          1.2 .NET 时代

          ​ .NET 框架的特点:

          • 多平台:可以在各种计算机上运行。
          • 行业标准:使用行业标准的通信协议,如 XML、HTTP、SOAP、JSON 和 WSDL。
          • 安全性:提供安全的执行环境,即使有来源可疑的代码存在。

            1.2.1 .NET 框架的组成

            ​ 如图 1.1 所示。

            C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架 图1.1 .NET 框架的组成
            • CLR(Common Language Runtime,公共语言运行库)

              C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架,C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,使用,访问,管理,第3张
              (图片来源网络,侵删)

              在运行时管理程序的执行,主要内容有

              • 内存管理和垃圾收集;
              • 代码安全验证;
              • 代码执行、线程管理及异常处理。
              • BCL(Base Class Library,基类库)

                是 .NET 框架使用的一个大类库,可以在程序中使用。

                1.2.2 大大改进的编程环境

                1. 面向对象的开发环境

                  CLR、BCL 和 C# 完全面向对象,形成良好的集成环境。

                2. 自动垃圾收集

                  C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架,C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,使用,访问,管理,第4张
                  (图片来源网络,侵删)
                  • GC(Garbage Collector,垃圾收集器)

                    自动管理内存,删除程序不在访问的对象。

                  • 互操作性

                    • 允许不同的 .NET 语言编写的软件模块无缝交互。
                      • 只要遵循一定的规则,.NET 语言的程序可以相互使用其他 .NET 语言写的类;
                      • .NET 框架被称为“语言无关”。
                      • 提供平台调用特性(Platform Invoke,P/Invoke),允许 .NET 代码调用非 .NET 代码。
                      • .NET 框架能与 COM 组件相互调用。
                      • 简化的部署

                        • 不需要使用注册表注册。
                        • 提供并行执行的特性:允许 DLL 不同版本在同一台机器上存在。
                        • 类型安全性

                          CLR 检查并确保参数及其他数据对象的类型安全。

                        • 基类库

                          .NET 框架提供庞大的基础类库(BCL),有时也称为 FCL(Framework Class Library,框架类库)。

                1.3 编译成 CIL

                ​ .NET 语言的编译器接受源代码,生成名为程序集的输出文件,如图 1.2 所示。

                C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架 图1.2 编译过程
                • CIL(Common Intermediate Language,公共中间语言)

                  即程序集里的代码,不是本机代码。

                • 程序集包含如下信息:

                  • 程序的 CIL;
                  • 程序中使用的类型的元数据;
                  • 对其他程序集引用的元数据。

                    1.4 编译成本机代码并执行

                    ​ 程序集的 CIL 直到被调用运行时才会被编译成本机代码,运行时执行的步骤如图 1.3 所示。

                    C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架 图1.3 运行时被编译成本机代码
                    1. 检查程序集的安全特性;
                    2. 在内存中分配空间;
                    3. 把程序集中的可执行代码发送给 JIT(Just-In-Time,及时编译器),编译一部分内容为本机代码。

                    ​ 程序集中的可执行代码只在需要的时候由 JIT 编译,之后被缓存起来以备后续使用。一旦 CIL 被编译为本机代码,CLR 就在它运行时进行管理,如释放无主内存、检查数组边界、检查参数类型和管理异常等。

                    • 托管代码:由 .NET 框架编写的代码,需要 CLR。

                    • 非托管代码:不在 CLR 控制之下运行的代码,如 C/C++、DLL。

                      C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架 图1.4 编译时和运行时的过程概览

                      1.5 CLR

                      ​ CLR 是 .NET 框架的核心组件,位于操作系统的顶层,管理程序的执行,如图 1.5 所示。

                      C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架 图1.5 CLR概览

                      1.6 CLI

                      • CLI(Common Language Infrastructure,公共语言基础结构)

                        一组 .NET 标准,将 .NET 框架的所有组件连接成一个内聚、一致的系统,详细说明了所有软件都必须遵守的规则和约定,如图 1.6 所示。

                        C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架 图1.6 CLI的组成
                        • CTS(Common Type System,公共类型系统)

                          定义了在托管代码中一定会使用的类型的特征,如

                          • 定义了一组丰富的内置类型,及每种类型固有、独有的特性;
                          • .NET 兼容编程语言提供的类型,通常映射到 CTS 中已定义的内置类型集的某一个特殊子集;
                          • 所有类型都继承 Object;
                          • 确保系统类型和用户定义类型能被任何 .NET 兼容的语言所使用。
                          • CLS(Common Language Specification,公共语言规范)

                            详细说明了 .NET 兼容编程语言的规则、属性和行为,包括数据类型、类结构和参数传递。

                            1.7 各种缩写

                            C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架 图1.7 .NET缩写

                            1.8 C# 的演化

                            C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架 图1.8 C# 各版本的焦点特性

                            1.9 C# 和 Windows 的演化(*)


免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,1061人围观)

还没有评论,来说两句吧...

目录[+]