C#简介
.NET Framework:.NET是微软开发的跨语言开发平台,支持二三十种开发语言,用于构建和运行应用程序。
C#(CSharp):微软专门为.NET推出的高级编程语言。从语言技术、风格、严谨性等特点上来说,C#可称为诸多编程语言中最优秀的一款,甚至由它引发出计算机语言界中的多种新规范和新特征。
C#发展史
- 2002年发布1.0版本:和 Visual Studio .NET 2002 一起发布的 C# 版本 1.0 非常像 Java,具备了Java的基本功能。
- 2003年发布1.2版本:从此版本开始,当 IEnumerator 实现 IDisposable 时,foreach 循环中生成的代码会在 IEnumerator 上调用 Dispose。
- 2005年发布2.0版本:引入泛型、迭代器、匿名方法、协变和逆变等。
- 2007年发布3.0版本:3.0 版和 Visual Studio 2008 一起发布于 2007 年下半年,但完整的语言功能是在 .NET Framework 3.5 版中发布的。
- 2007年发布3.5版本:匿名类型、自动实现的属性、表达式、扩展方法、隐式类型本地变量、分部方法、对象和集合初始值设定项。
- 2010年发布4.0版本: 4.0 随 Visual Studio 2010 一起发布,引入了动态绑定、命名参数/可选参数、泛型协变和逆变、嵌入的互操作类型。
- 2012年发布5.0版本:实现了async、await异步编程。
- 2015年发布6.0版本:静态导入、异常筛选器、自动属性初始化表达式、Expression bodied成员、Null传播器、字符串插值、nameof运算符、索引初始化表达式、Catch/Finally块中的Await、仅限getter属性的默认值。
- 2017年发布7.0版本:虽然该版本继承和发展了 C# 6.0,但不包含编译器即服务。该版本提供了Out变量、元祖和析构函数、模式匹配、本地函数、已扩展Expression bodied成员、Ref局部变量和返回结果、弃元、二进制文本和数字分隔符、引发表达式。
- 7.2版本:添加了几个小型语言功能:编写安全高效代码的技巧、非尾随命名参数、数值文字中的前导下划线、private protected访问修饰符。
- 7.3版本:7.3 版本有两个主要主题。 第一个主题提供使安全代码的性能与不安全代码的性能一样好的功能。 第二个主题提供对现有功能的增量改进。 此外,在此版本中添加了新的编译器选项。
- 8.0版本:8.0 版是专门面向 .NET C# Core 的第一个主要 C# 版本。 一些功能依赖于新的 CLR 功能,而其他功能依赖于仅在 .NET Core 中添加的库类型。 C# 8.0 向 C# 语言添加了以下功能和增强功能:Readonly 成员、默认接口方法、模式匹配增强功能、Using 声明、静态本地函数、可处置的 ref 结构、可为空引用类型、异步流、索引和范围、Null 合并赋值、非托管构造类型、嵌套表达式中的 Stackalloc、内插逐字字符串的增强功能。
- 9.0版本: 9.0 随 .NET 5 一起发布。 它是面向 .NET 5 版本的任何程序集的默认语言版本。它包含以下新功能和增强功能:记录、仅限 Init 的资源库、顶级语句、模式匹配增强功能、性能和互操作性(本机大小的整数、函数指针、禁止发出 localsinit 标志)、调整和完成功能(目标类型的 new 表达式、static 匿名函数、目标类型的条件表达式、协变返回类型、扩展 GetEnumerator 支持 foreach 循环、Lambda 弃元参数、本地函数的属性)、支持代码生成器(模块初始值设定项、分部方法的新功能)。9.0 继续以前版本中的三大主题:删除不必要的模式、将数据与算法分离,以及在更多位置提供更多模式。
Unity各版本支持C#情况
Unity 2020.2 | C#8 (2020.2将支持除默认接口方法外所有C# 8的新功能特性与改进。)
Unity 2018.3 | C#7.3
Unity 2018.2 | C#7.2
Unity 2017.1 | C#6
Unity 5.5 | C#4.0
更多内容请查看总目录【Unity】Unity学习笔记目录整理