c#基础的一些概念和扩展

发布时间:2024年01月24日

1.c#概念及特点

版本链接:C# 发展历史 - C# 指南 - C# | Microsoft Learn

C#是微软公司基于.NET FrameWork框架设计的面向对象的程序语言,是从C和C++派生来的一种简单、现代、面向对象、和类型安全的编程语言,能够与.NET FrameWork框架完美结合,运行在.NET FrameWork框架之上。

特点:

a.语法简介。

b.彻底的面向对象

c.与web紧密结合。

d.灵活的版本处理技术。

e.完善的错误、异常处理机制.

f.强类型。

注:除C#是面向对象的语言,向Python、php、Java、JavaScript也是面向对象的语言。

2.C#中的CTS、CLS、CLR

在了解这三个概念之前要先知道IL

IL(Intermediate Language) 翻译为中间语言,是经过编译后可以执行的二进制代码,实现了.net平台的互联互通,后缀名为.exe或.dll。IL中间语言,是在CLR监控下运行的代码,成为托管代码(Managed Code)

注:

a.托管代码,肯定安全。被CLR监控。

b.非托管代码,不安全,有可能使用了指针。

2.1.CTS(Commom Type System) 通用类型系统

CTS定义了一套通用的对于编译时的数据类型系统

例如:在Vb.Net中对整形的定义为integer,在C#中对整形的定义为int,经过编译前经过CTS后integer和int统一编程为int32

2.2.CLS(commer Language Specification) 公共语言规范

可简单理解为:统一编码规定或语法规范

过程:在编译时利用CLS将C#或其他.Net平台的语言编译成IL(中间语言),实现代码通用,然后经过反编译就可以形成其他的代码了。

第一次编译:把源码,通过CTS,CLS,编译成中间语言IL
第二次编译:把IL,通过CLR,通过实时编译JIT,编译成机器语言

2.3.CLR(Commom Language Runtime)公共语言运行时

用于驱动程序运行,执行实时编译(JIT,Just In Time 即时编译)? ? ? ? ? ?即时:

将代码转换为机器指令。还包括垃圾回收机制(GC)等.

3.C#与.NET FrameWork的关系

.NET FrameWork是微软推出的在windows平台上的开发框架,是一个平台,不是语言,C#才是编程语言。.NET FrameWork框架可兼容多种编程语言的编译,包括V8、C#、J#等语言。其中C#是微软主推的编程语言。

框架关系结构图:

操作系统:.NET FrameWork是运行在Windows操作系统上的,不能运行在其他操作系统上,如:苹果的MAC系统和Unix或Linux系统上。

CLR(Common Language Runtime)公共语言运行时

在使用C#获取V8编译的代码要编程成能被CLR运行的可执行代码,这个过程中CLR提供了一个运行时环境。从上图中可以看出 CLR是.NetFramework的底层

FCL(Framework Class Library)

FCL是.Net Framework框架类库,包括有几千个类型的定义,每个类型都提供了某种功能。

4、.Net FrameWork和.Net Core的关系

3.1、.Net FrameWork 与.Net Core是.net平台推出的两大框架

(1)、.Net FrameWork可以用来创建Windows应用程序,即所说的WinForm开发

?.Net FrameWork下载链接:下载 .NET Framework | 免费官方下载

(2)、.Net Core是微软推出的最新的开源、跨平台的框架,可以运行在Windows、MAC、Linux系统上。

文章来源:https://blog.csdn.net/2301_77732393/article/details/135756119
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。