01 C# 和 .NET框架

1. 在.NTE之前

使用Win32 API 接口编程。这个接口不是面向对象的,编程工作量大。

MFC(微软基础类库),COM(组件对象模型)编程模式也已经陈旧,代码复杂,丑陋。

下一代平台服务:集成,面向对象,跨平台

2.    .NET 平台

2002年发布第一版

多平台,行业标准,安全性

.NET 框架组成,3个部分

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

包含:内存管理和垃圾回收; 代码安全验证; 代码执行和线程管理,异常处理

基类库BCL( Base Class Library) 是.NET框架使用的最大的类库

编程工具(Visual Studio集成开发环境)

编程环境

面向对象的开发环境

自动垃圾收集(GC )

互操作性(不同的.NET语言,Win32 dll, COM之间的互操作P/Invoke)

不需要COM(摆脱COM的束缚)

简化的部署(复制就可执行,并行执行特性)

类型安全

基类库BCL (通用基础类,集合类,线程和同步类,XML类)

3. 编译成CIL

CIL 公共中间语言(Common IntermediateLanguage) 或IL

4. 编译本机代码并执行

程序的CIL直到被调用运行时才会被编译成本机代码。步骤:

检查程序集的安全特性

在内存种分配空间

把程序集中的可执行代码发送给即时JIT(Just-in-time)编译器,把其中的一部分编译成本机代码

托管代码:为.NET框架编写的代码称为托管代码managed code,需要CLR。

非托管代码:不在CLR控制之下运行的代码,如Win32 dll, unmanaged code.

编译和执行

无论源文件的语言是什么,都遵循同样的编译和执行过程。

5.CLR

.NET框架的核心组件,它在操作系统的顶层,负责管理程序的执行。

内存管理;异常处理;垃圾回收;反射服务;JIT编译器;类加载器;安全服务

6.CLI

公共语言基础结构 Common Language Infrastructure,它把.NET框架的所有组件连结成一个内聚的,一致的系统。

一组阐述了系统的架构,规则和约定的规范,重要组成部分:

CLR(公共语言运行库);CLS(公共语言规范);BCL(基类库),CTS(公共类型系统)

CIL(公共中间语言指令组) ;元数据定义以及语义

CTS-Common Type System 公共类型系统

- 定义内置类型,以及每种类型固有的,独有的特性

- 兼容编程语言提供的类型通常映射到CTS中已定义的内置类型的某一特殊子集

- 最重要特征之一所有类型都是继承自公共基类Object

- 确保系统定义类型和用户定义类型能够被任何.NET兼容语言所使用

CLS – Common Language Specification 公共语言规范

详细说明了一个.NET兼容编程语言的规则,属性和行为。

7. C#的演化

每个新版本都会添加一焦点特性。

C# 1.0

C# 2.0 泛型

C# 3.0 LINQ

C# 4.0 命名参数,可选参数

C# 5.0 异步

C# 6.0 语言增强,Roslyn

C# 7.0 值元组,模式匹配

8.C#和Windows的演化

Windows 10 通用平台UWP-Universal Windows Platform

https://www.tiobe.com/tiobe-index/

目前编程语言使用分布如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flysh05

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值