zoukankan      html  css  js  c++  java
  • Java程序员的C#学习笔记(1) C#和.NET Framework概览

    最近开始学习C#,由于有了Java的基础,在一些概念的理解上还是可以通过类比来了解的。在这里主要讲一些C#中特有的或者与Java有区别的东西,本系列的文章主要是为自己的学习做一个笔记。

    首先来看一下.NET Framework的组成,如下图所示:

    包括了3个方面的内容,

    1. CLR(Common Language Runtime,公共语言运行库)。负责在运行时管理软件的执行。包括内存的管理,代码安全验证,代码执行,垃圾收集(GC)等内容,相当于Java中的JVM的角色。

    2. 编程工具,包括了代码的开发,调试,编译等工作。包括Visual Studio开发环境,编译器,调试器等

    3. BCL(Base Class Library,基类库),这个是.NET Framework使用的一个统一的大类库,和Java的类库的概念相似。

    .NET语言的编译器接到源代码文件后,首先生成名字为"程序集(assembly)"的输出文件。它可以是可执行文件或者DLL。程序集中的代码并不是本机代码(这一点和Java源代码编译成.class文件比较像),而是一种成为CIL(Common Intermediate Language,公共中间语言)的中间语言。在运行的时候JIT编译器(Just-in-Time)会负责将CIL的一部分编译成本机代码,然后CLR就可以在运行时对它进行管理了。

    另外,这里还有2个术语需要了解下:托管代码和非托管代码。

    托管代码是.NET Framework编写的代码,需要CLR支持;而非托管代码不需要受CLR控制,比如传统的win32程序,它们并不是.NET程序。

    最后一个概念是CLI(Common Language Infrastructure,公共语言基础结构),它是一组标准,说明了如何组织.NET Framework的组件并构成一个内聚的、一致的系统。这个概念对开发者来说并不是很重要,只是简单的了解一下即可。

    CLI包括如下的组成部分:

    1. CTS(Common Type System,公共类型系统),定义了在托管代码中一定会使用的类型特征。包括一组内置类型,还有类型的公共基类"object"等。

    2. CLS(Common Language Specification,公共语言规范),定义了一个.NET兼容编程语言的规则,行为等。

  • 相关阅读:
    【ASP.NET Web API教程】5.5 ASP.NET Web API中的HTTP Cookie
    【ASP.NET Web API教程】3.3 通过WPF应用程序调用Web API(C#)
    【ASP.NET Web API教程】5.4 ASP.NET Web API批处理器
    【翻译】ASP.NET Web API是什么?
    【ASP.NET Web API教程】2.3.6 创建产品和订单控制器
    《精通ASP.NET MVC 3框架》译者序
    【ASP.NET Web API教程】3 Web API客户端
    委托、事件与匿名方法 — 学习委托最好的资料
    【ASP.NET Web API教程】2.3.3 创建Admin控制器
    【ASP.NET Web API教程】2.3.5 用Knockout.js创建动态UI
  • 原文地址:https://www.cnblogs.com/archer/p/1409152.html
Copyright © 2011-2022 走看看