目录

c基础的一些概念和扩展

目录

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

1.c#概念及特点

版本链接:

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

https://i-blog.csdnimg.cn/blog_migrate/ef06603d80e33c619924f364ae0dbdc3.png

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

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

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

第一次编译:把源码,通过CTS,CLS,编译成中间语言IL

第二次编译:把IL,通过CLR,通过实时编译JIT,编译成机器语言

https://i-blog.csdnimg.cn/blog_migrate/9012df6caf1aa513f7c21c1cd7f1886b.png

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

用于驱动程序运行,执行实时编译(JIT,Just In Time 即时编译 )           即时: https://i-blog.csdnimg.cn/blog_migrate/64cae70a24e66b138ba127da190a44f5.png

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

3.C#与.NET FrameWork的关系

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

框架关系结构图:

https://i-blog.csdnimg.cn/blog_migrate/c5e9ae2d60c4713ddda3443cd7e8b5c1.jpeg

操作系统:.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的关系

https://i-blog.csdnimg.cn/blog_migrate/570f649b6c3fc766e2b315885124259a.png

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

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

.Net FrameWork下载链接:

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