c#----语言介绍

1.什么是c#语言?

C#(读作“See Sharp”)是一种面向对象类型安全的编程语言。 用 C# 可以开发出在 .NET 上运行的多种安全可靠的应用程序。 C# 源于 C 语言系列,C、C++、Java 和 JavaScript 程序员很快就可以上手使用。

2. .NET 体系结构

C# 程序在 运行在.NET 上,而 .NET 是名为公共语言运行时 (CLR) 的虚拟执行系统(VEM)和一组类库。 CLR 是 Microsoft 对公共语言基础结构 (CLI) 国际标准的实现。 

用 C# 编写的源代码被编译成符合 CLI 规范的中间语言 (IL)。 IL 代码和资源(如位图和字符串)存储在扩展名通常为 .dll 的程序集中。 程序集包含一个介绍程序集的类型、版本和区域性的清单。

执行 C# 程序时,程序集将加载到 CLR。 CLR 会直接执行实时 (JIT) 编译,将 IL 代码转换成本机指令。 CLR 可提供其他与自动垃圾回收、异常处理和资源管理相关的服务。 由 CLR 执行的代码有时称为“托管代码”。 “非托管代码”编译为面向特定平台的本机语言。

从 C# 源代码到计算机执行

3 C#版本与.NET版本对应关系以及各版本的特性

C#版本.NET版本发布日期特性
C# 1.0.NET Framework 1.02002-02-13委托、事件
C# 1.1.NET Framework 1.12003-04-24APM(异步编程模型)
C# 2.0.NET Framework 2.02005-11-07泛型、匿名方法、迭代器、可空类型
C# 3.0.NET Framework 3.02007-11-06隐式类型
.NET Framework 3.52007-11-19对象集合初始化、自动实现属性、匿名类型、扩展方法、查询表达式、Lambda表达式、 表达式树、分部类和方法、Linq
C# 4.0.NET Framework 4.02010-04-12动态绑定、命名和可选参数、泛型的协变和逆变、互操作性
C# 5.0.NET Framework 4.52012-08-15异步和等待(async和await)、调用方信息(Caller Information)
C# 6.0.NET Framework 4.62015-07-20静态导入、C# 6 中的新增功能
.NET Core 1.02016-06-27
C# 7.0.NET Framework 4.6.22016-08-02元组、C# 7.0 中的新增功能
C# 7.1.NET Framework 4.72017-04-05
.NET Core 2.02016-08-14.NET Core 2.0 的新增功能
C# 7.2.NET Framework 4.7.12017-10-17
C# 7.3.NET Framework 4.7.22018-04-30
.NET Core 2.12018-05-30.NET Core 2.1 的新增功能
.NET Core 2.22018-12-04.NET Core 2.2 的新增功能
C# 8.0.NET Framework 4.82019-04-18C# 8.0 中的新增功能
.NET Core 3.02019-09-23.NET Core 3.0 的新增功能
.NET Core 3.12019-12-03.NET Core 3.1 的新增功能
C# 9.0.NET 52020-09-04C# 9.0 中的新增功能
.NET 52020-10-13What's new in .NET 5

4.c#与c++的比较

项目c++c#
编译目标直接编译为本地代码编译为中间语言(IL)执行时再通过JIT(Just-in-time)编译器将需要的模块编译为本地代码
内存管理    显示删除动态分配给堆的内存垃圾回收机制在合适的时机回收不再使用的内存
指针  容易引起内存泄露使用对类实例的引用,也可以在非类型安全状态下也可以使用指针。
字符串处理字符串作为一种基本数据类型来对待,比c++对字符串的处理简单的多
继承 允许类的多继承只允许类的单继承,通过接口实现多继承

5.c#与java比较:

项目c# Java
运行环境  可在具有CLR的平台上运行可在具有JVM的平台上运行
完全面向对象  
多重继承不支持不支持
内存管理使用垃圾回收机制使用垃圾回收机制
异常处理try-catch-finallytry-catch-finally
指针 只能在非托管代码段内使用不支持
类型安全性验证强制类型验证强制类型验证
命名空间支持支持
布尔值只能为true或false  只能为true或false
变量初始化不能使用未初始化的变量不能使用未初始化的变量
中间语言处理将MSIL转换为JIT机器码Java字节码
访问修饰符public、protected、private、internal、partialpublic、protected、private、friendly
WebService  支持支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值