Roslyn 编译平台概述
在Language Feature Status上面看到,其实更新的并不是特别多,为了不会误导看了C# 6.0 功能预览 (一)的园友,现在把官方的更新列表拿了过来,供大家参考
C# 6.0 功能预览 (二)
语言功能实现状态
- 存在: 在以前的版本中已经存在
- 完成: 已经在该版本中实现
- 计划: 预计在该版本中
- 可能: 预计可能在该版本中
- 撤销: 可能不在该版本中
- 没有: 该版本中没有
- N/A: 没有意义
功能 |
例子 |
|
Primary constructors |
class Point(int x, int y) { … } |
完成 |
Auto-property initializers |
public int X { get; set; } = x; |
完成 |
Getter-only auto-properties |
public int Y { get; } = y; |
完成 |
Using static members |
using System.Console; … Write(4); |
完成 |
Dictionary initializer |
new JObject { ["x"] = 3, ["y"] = 7 } |
完成 |
Indexed member initializer |
new JObject { $x = 3, $y = 7 } |
撤销 |
Indexed member access |
c.$name = c.$first + " " + c.$last; |
撤销 |
Declaration expressions |
int.TryParse(s, out var x); |
完成 |
Await in catch/finally |
try … catch { await … } finally { await … } |
完成 |
Exception filters |
catch(E e) if (e.Count > 5) { … } |
完成 |
Typecase |
Select Case o : Case s As String : … |
没有 |
Guarded cases |
Select Case i : Case Is > 0 When i Mod 2 = 0 |
没有 |
Partial modules |
Partial Module M1 |
N/A |
Partial interfaces |
Partial Interface I1 |
存在 |
Multiline string literals |
"Hello<newline>World" |
存在 |
Year-first date literals |
Dim d = #2014-04-03# |
N/A |
Binary literals |
0b00000100 |
计划 |
Digit separators |
0xEF_FF_00_A0 |
计划 |
Line continuation comments |
Dim addrs = From c in Customers ' comment |
N/A |
TypeOf IsNot |
If TypeOf x IsNot Customer Then … |
N/A |
Expression-bodied members |
public double Dist => Sqrt(X * X + Y * Y); |
计划 |
Event initializers |
new Customer { Notify += MyHandler }; |
计划 |
customer?.Orders?[5]?.$price |
计划 |
|
Semicolon operator |
(var x = Foo(); Write(x); x * x) |
可能 |
Private protected |
private protected string GetId() { … } |
计划 |
Params IEnumerable |
int Avg(params IEnumerable<int> numbers) { … } |
计划 |
Constructor Inference |
new Tuple(3, "three", true); |
可能 |
"\{p.First} \{p.Last} is \{p.Age} years old." |
可能 |
|
TryCast for nullable |
Dim x = TryCast(u, Integer?) |
存在 |
Delegate combination with + |
d1 += d2 |
存在 |
Implicit implementation |
Class C : Implicitly Implements I |
存在 |
NameOf operator |
string s = nameof(Console.Write); |
计划 |
Strict Module M |
存在 |
|
Dim x = CInt(Math.Truncate(d)) | |
存在 |
|
#Disable Warning BC40008 |
存在 |
|
Checked and Unchecked blocks |
Checked : x += 1 : End Checked |
存在 |
在此谢谢读完这篇博客,有什么写的不对的地方请指正。
有帮助就推荐下,有感想就写下留言,不满意也写下留言,有问题及时更正。
学习坚持,坚持学习
Boyce
Roslyn 编译平台概述的更多相关文章
- (二)我的Makefile学习冲动&&编译过程概述
前言 一 年轻的冲动 二 学习曲线 1 Makefile基本语法 2 bash基础 3 world 三 编译过程概述 1 主机预装工具 2 编译host工具 3 编译交叉工具链 4 编译内核模块 5 ...
- C编译过程概述
转自:http://my.oschina.net/apeng/blog/105245 C 编译过程概述 目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection), ...
- [转贴]C编译过程概述
http://my.oschina.net/apeng/blog/105245 C 编译过程概述 目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是G ...
- MOOC 编译原理笔记(一):编译原理概述以及程序设计语言的定义
编译原理概述 什么是编译程序 编译程序指:把某一种高级语言程序等价地转换成另一张低级语言程序(如汇编语言或机器代码)的程序. 高级语言程序-翻译->机器语言程序-运行->结果. 其中编译程 ...
- .NET Compiler Platform,一个.NET编译平台
.NET Compiler Platform,一个.NET编译平台 如何利用C# Roslyn编译器写一个简单的代码提示/错误检查? OK, 废话不多说,这些天在写C#代码时突然对于IDE提示有了 ...
- sublime搭建Java编译平台及编码问题
Sublime自带Java编译功能,当时只能编译不能运行,我们做一下小小的修改就可以让sublime一步完成编译运行的功能,实现sublime搭建Java编译平台. 使用Ctrl + B 编译时,所编 ...
- APPCAN学习笔记001---app高速开发AppCan.cn平台概述
1.APPCAN学习笔记---app高速开发AppCan.cn平台概述 1. 平台概述 技术qq交流群:JavaDream:251572072 AppCan.cn开发平台是基于HTML5技术的跨平台移 ...
- Roslyn 入门:使用 .NET Core 版本的 Roslyn 编译并执行跨平台的静态的源码
Roslyn 是微软为 C# 设计的一套分析器,它具有很强的扩展性.以至于我们只需要编写很少量的代码便能够编译并执行我们的代码. 作为 Roslyn 入门篇文章之一,你将可以通过本文学习如何开始编写一 ...
- ARM64平台编译stream、netperf出错解决办法 解决办法:指定编译平台为alpha [root@localhost netperf-2.6.0]# ./configure –build=alpha
ARM64平台编译stream.netperf出错解决办法 http://ilinuxkernel.com/?p=1738 stream编译出错信息: [root@localhost stream]# ...
随机推荐
- C++ 之 exception
本文讲关于C++的异常的全部东西: 绝对不让异常逃离析构函数 阻止exception逃离析构函数,主要是两个原因: 1 防止在异常处理过程中的栈展开行为时,将调用terminate函数.程序将会结束, ...
- suggest的使用方法
suggest的使用方法注意: 1. 要表示汉语的"建议做某事",英语通经常使用suggest doing sth,而不能用 suggest to do sth: 2. " ...
- I2C驱动程序框架probe道路
基于Linux的I2C驱动器.采纳probe道路.根据这个框架,如下面就可以写任何支持I2C总线设备Linux驱动器. I2C设备连接到cpu具体i2c接口.被安装在cpu的i2c适配器.i2c设备和 ...
- JS function立即调用的几种写法
//立即执行 (function () { alert(1) })() //立即执行 !function () { alert(1) }() //立即执行 +function () { alert(1 ...
- XML的序列化和反序列化 详细介绍
为什么要做序列化和反序列化? 一个回答: 我们都知道对象是不能在网络中直接传输的,不过还有补救的办法.XML(Extensible Markup Language)可扩展标记语言,本身就被设计用来存储 ...
- 前端学习笔记(zepto或jquery)——对li标签的相关操作(三)
对li标签的相关操作——八种方式遍历li标签并获取其值 $("ul>li").forEach(function(item,index){ alert(index+" ...
- C#中WebBrowser的使用
原文:C#中WebBrowser的使用 其实网络上这类文章很多,我大致从头说说我自己的经验. 1.加入引用 在控件栏按右键,选择“添加/移除项”,选COM组件,选中“Microsoft Web Bro ...
- 再谈IE的浏览器模式和文档模式
原文:再谈IE的浏览器模式和文档模式 以前在 “IE8兼容视图(IE7 mode)与独立IE7的区别”一文中曾经涉及过浏览器模式和文档模式,但二者的区别却不甚了了,现在有了新的认识,再补充一下. 1. ...
- 浏览器扩展系列————给MSTHML添加内置脚本对象【包括自定义事件】
原文:浏览器扩展系列----给MSTHML添加内置脚本对象[包括自定义事件] 使用场合: 在程序中使用WebBrowser或相关的控件如:axWebBrowser等.打开本地的html文件时,可以在h ...
- 《Windows游戏编程技巧大师》就DirectDraw而创建DirectDraw知识笔记
1.DirectDraw 这可能是Directx中最重要的技术,由于它是2D图形赖以实现的渠道.也是Direct3D构建于其上的帧缓冲层. 2.DirectDraw是由非常多借口组成的.共同拥有5个接 ...