在 vs2017 中使用 C# 7 新特性。
几个概念区分:
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# 中的新增功能》
如何指定 C# 语言版本?
参考 《选择 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 新特性的相关语法)。
参考 《Enabling C# 7 Compilation With Visual Studio 2017》
在 vs2017 中使用 C# 7 新特性。的更多相关文章
- 简单理解ECMAScript2015中的箭头函数新特性
箭头函数(Arrow functions),是ECMAScript2015中新加的特性,它的产生,主要有以下两个原因:一是使得函数表达式(匿名函数)有更简洁的语法,二是它拥有词法作用域的this值,也 ...
- ABAP 7.52 中的Open SQL新特性
S/4 HANA 1709 已经在几个月前发布,随之而来的是ABAP 7.52. 本文翻译了更新文档中有关Open SQL的部分 本文链接:http://www.cnblogs.com/hhelibe ...
- ABAP 7.40, SP08 中的 Open SQL 新特性
1,使用 data_source~*指定列 在7.40, SP08中,可以在SELECT语句中使用data_source~*来指定选取不同的数据库表.视图的全部列来作为结果集.它也可以和单独指定的列c ...
- Java 9中的 9个 新特性
Java 9 中的 9个 新特性 java 7 2011发布,Java 8 2014发布,java9发布于2017年9月21日. 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它 ...
- 【译】.NET 5. 0 中 Windows Form 的新特性
自从 Windows Form 在 2018 年底开源并移植到 .NET Core 以来,团队和我们的外部贡献者都在忙于修复旧的漏洞和添加新功能.在这篇文章中,我们将讨论 .NET 5.0 中 Win ...
- 【C#】第1章 VS2015中C#6的新特性
分类:C#.VS2015 创建日期:2016-06-12 一.简介 VS2015内置的C#版本为6.0,该版本提供了一些新的语法糖,这里仅列出个人感觉比较有用的几个新功能. 二.几个很有用的新特性 注 ...
- Visual Studio 2015 RC中的ASP.NET新特性和问题修正
(此文章同时发表在本人微信公众号"dotNET每日精华文章") 微软在Build大会上发布了Visual Studio 2015 RC,这也预示着Visual Studio 201 ...
- Java 9 中的 9 个新特性你知道吗
摘要: Java 8 发布三年多之后,即将快到2017年7月下一个版本发布的日期了. 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新. 这里有九个令人兴奋的新功能将与 J ...
- Oracle12c 中RAC功能增强新特性之ASM&Grid
1. 自动存储管理(ASM)方面的增强 1.1. Flex ASM 在典型的网格架构安装中,每个节点有自己的ASM实例运行并扮演该节点上数据库的存储容器的角色,对这种安装配置,存在单点失败的 ...
随机推荐
- 深入C#并行编程(1) -- 了解线程
一.操作系统用进程(Processe)分隔正在执行的程序,用线程(Thread)作为操作系统分配处理器时间的基本单元,进程上下文中可以运行多个线程,进程的所有线程共享其虚拟地址空间,所有线程均可执行程 ...
- leetcode — 4sum
import java.util.Arrays; import java.util.HashSet; import java.util.Set; /** * Source : https://oj.l ...
- centos swap
SWAP是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的.它类似于Windows中的虚拟内存.在Windows中,只可以使用文件来当作虚拟内存.而linux可以文件或者分区来当作 ...
- Scala函数与函数式编程
函数是scala的重要组成部分, 本文将探讨scala中函数的应用. scala作为支持函数式编程的语言, scala可以将函数作为对象即所谓"函数是一等公民". 函数定义 sca ...
- cmd 导入数据库文件
mysql -uroot -p show databases use 库名 source D:\kuming.sql
- [转]Angular 4 *ngIf/Else
本文转自:http://tylerscode.com/2017/03/angular-4-ngifelse/ As you may know it wasn’t that many months ag ...
- 如何在framegroup各个frame和window之间共享数据
可以尝试使用execScript,在指定window或者frame中执行脚本,对于frameGroup里面的frame也有效,若name和frameName都未指定,则在当前window中执行脚本,具 ...
- 如何利用Maven Repository下载开源软件jar包
1.打开Maven Repository 网站:https://mvnrepository.com/ 2.输入需要寻找的jar包名称,比如mybatis,点击search,一般第一个就是 3.点击选择 ...
- 修改mysql忽略大小写
mysql -p --1.登录mysql show variables like "%case%";+------------------------+-------+| Vari ...
- 微信小程序支付最容易犯的坑notify_url(支付回调)
最近做了微信小程序支付,支付成功之后发现notify_url回调地址竟然没有访问. 检查了无数次代码,下单结果里面的回调地址看了又看,都没有错啊. 把回调地址复制出来到浏览器上面,外网也是可以访问的啊 ...