了解C#

了解C#

C#能编写那些程序

  1. Windows桌面应用程序

桌面应用有自己独立的进程与操作系统进行消息通讯,操作系统对事件进行检测,传递给桌面应用进程,桌面应用进程对这些消息进行解释,处理后,把处理结果ui变化告诉操作系统,操作系统再展示出来。

  1. Web应用程序

web应用程序,是浏览器通过http协议,与web服务器进行通讯,用户申请服务器的资源,服务器接收到消息后,对申请资源进行解析,然后把web页面描述通过网络发送回浏览器,展示给用户。

  1. Web服务

Web服务实现分布式应用程序的一种方式.

以上只是列出三种常用的应用程序
原文链接


什么是 .NET Framework

.NET Framework就是应用程序运行时的执行环境,为应用程序的执行提供一下几种服务.

  • 全面的类库
  • 内存管理
  • 通用类型系统(CTS)
    • CTS定义了可以在中间语言(在编译器将源代码编译为目的码的过程中,会先将源代码转换为一个或多个的中间表述,以方便编译器进行最佳化,并产生出目的机器的机器语言)中使用的预定义数据类型
  • 开发结构和技术 (.NET Framework提供特定应用程序所需的库,如Web应用程序的ASP.NET技术)
  • 语言互操作性 (面向 .NET Framework的语言编译器都提供了生成中间语言代码的机制,这种机制使得不同的语言之间进行互操作成为可能)

.NET Framework的组成

  • 公共语言运行时(CLR包含CTS,CLS二个组成部分,我们将受CLR管理的代码称为托管代码,反之为非托管代码)

    • 通用类型系统(CTS 用于解决不同语言之间数据类型不同的问题.例如C#整型是int,vb.net中却是Integer)
      通用类型.png
    • 公共语言规范(CLS是一种最低的语言标准,它制定了一 .NET 平台为目标的语言所必须支持的最小特征,以在及某一种语言与其他.NET语言之间实现互操作所需要的完备特征)
      公共语言规范(CLS).jpg
  • .NET Framework(.net framework类库就是一组DLL程序集集合,其中包含了大量定义好的类型,这些类都公开了一些功能. 下图更好的理解公共语言运行时,类库与应用程序之间的以及整个操作系统之间的关系)
    公共语言运行时,类库与应用程序之间的以及整个操作系统之间的关系.jpg

C#与 .NET Framework的关系

C#与FCL的关系.png

C#代码的执行过程

  1. C#代码编译为中间语言
  2. 中间语言代码编译为本机代码(即GPU指令,整个过程由JIT编译器来完成)
  3. 执行本机代码(编译好的本机代码会被放置到一个缓存区中缓存,下次调用时将直接运行现有代码)
原文地址:https://www.cnblogs.com/youMo/p/10347843.html