初识.NET,.NET Framework,C#

摘要:阐述容易混淆的概念,.NET,.NET Framework,C#三者的概念、区别和联系。小编编了这么久的C#Winform程序,却对C#运行平台、环境及原理一无所知。通过查阅资料,成果整理如下。

目录

.NET

.NET Framework

C#

小结

每篇寄语


.NET

        平时所说的.NET指.NET开发平台,也就是为应用软件开发提供的免费的、开源的、跨平台的工作平台,由开发工具、编程语言和各种库组成。

        目前常用的支持.NET编程的开发工具如下

  • Visual Studio:用于构建各种类型的.NET应用程序,是Windows上功能齐全的集成开发环境(IDE),还有MacOS款——Visual Studio for Mac
  • Visual Studio Code:建立跨平台服务,支持在Linux、MacOS和Windows上开发,需安装C#扩展
  • JetBrains Rider:使用 IntelliJ 和 ReSharper 技术构建的跨平台 .NET 集成开发环境
  • OmniSharp: 使 Atom、Sublime Text、Emacs 和 Vim 等编辑器支持跨平台 .NET 开发

        小编目前主要进行Windows桌面应用开发,用的是Visual Studio 2019。

        .NET支持多种语言,主流的语言有C#、F#、VB。

.NET Framework

        .NET Framework是仅限Windows版本的.NET,为Visual Studio提供了一个安全性高、集成性强的综合开发环境,包括公共语言运行库(CLR)和.NET Framework类库。CLR是应用程序的执行引擎,.NET Framework类库用于测试、可重复使用的程序代码链接库,供开发人员在开发应用程序时调用,其框架如下图。下面详解这两大组件。

        CLR提供了应用程序的虚拟运行环境,支持我们用不同语言编写代码(C#、VB、F#、C++等),它具有以下特点:

  • 改善的内存回收(GC)机制,自动分配内存,配合对象的引用,内存不再使用时就加以释放
  • 能跨语言整合,不同语言编写的对象可以彼此互通
  • 具有强制类型的安全检查
  • 支持结构化异常情况处理

        .NET Framework类库在公共语言规范(CLS)的要求下,提供了各种类和命名空间。

C#

        C#是.NET平台市场上占有绝对主导地位的编程语言。使用C#编程语言的程序需要经过C#编译器才能运行,然后以64位JIT编译器将C#程序代码编译成MSIL中间语言,产生的汇编程序(Assembly)是可执行文件,扩展名为“exe”或“dll”。经过编译的程序代码要运行时,汇编程序会以CLR来加载,符合安全性需求后,再由JIT编译器将MSIL转译成原生机器码才能执行。编译与执行过程如图所示:

小结

        本文简单讲述.NET,.NET Framework,C#三者的概念、区别和联系,尽管咱们编程一版只关注编程语言本身,但熟悉编程平台环境可以宏观认识程序运行的机制,这对编程是很有帮助的。

每篇寄语

        眼界,注定心的格局;格局,框定人生的命运。

猜你喜欢

转载自blog.csdn.net/lucgh/article/details/130252734