几个概念区分:
1、C#
C# 是一种.net 语言,与此类似的还有 vb,F#。不同版本的语言要配合相应的解释器才能发挥作用。目前 最新版本 为 C# 7.3。
2、VS
VS 是IDE,是 .net 开发者的生产工具。
3、.net FrameWork
在有 .net standard 后被称为是一种 .net 实现(仅 windows 系统),其实就是一个环境,包含 基础类库、一些相关工具、一些说明文件等。
4、CLR
Common Language Runtime 公共语言运行时(仅 windows 系统,跨平台的 叫 CoreCLR),就是提供C# 、VB、F# 等 语言运行时的需要,比如 分配临界资源、编译代码。
C# 7 新特性都有哪些:
参考《》
如何指定 C# 语言版本?
参考 《》
如何在 Web 项目中指定 C# 版本?
在 web 项目中使用 C# 7 的新特性,需要使用 nuget 更新 Microsoft.Net.Compilers ,否则 生成时可能会抛出如下异常:
CS1617 Invalid option '7.1' for /langversion; must be ISO-1, ISO-2, Default or an integer in range 1 to 6.
或者生成失败却无法在错误列表里找到持续的错误(可能出现错误但一会就消失了,特点是这些错误都指向 C# 7 新特性的相关语法)。
参考 《》