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]# ...
随机推荐
- Linux对于录音
一.原理简介 在Linux下,记录--从dsp读取数据.播放--至dsp设备写入数据. 开发板採用声卡UDA1341实现音频编解码,完毕A/D和D/A转换,芯片UDA1341与CPU的连接图例如以下: ...
- Js 正则表达式 写了一个正整数或小数点或分数前两个正则表达式
写了一个正整数或小数点或分数前两个正则表达式 /^[0-9]+([.]{1}[0-9]{1,2})? $/ 版权声明:本文博客原创文章.博客,未经同意,不得转载.
- 使用linux服务logrotate文件tomcat日志文件
使用notepad++编辑本地文件 tomcat: /usr/tomcat/logs/catalina.out { copytruncate daily dateext nocompress miss ...
- Oracle 树操作
Oracle 树操作(select…start with…connect by…prior) oracle树查询的最重要的就是select…start with…connect by…prior语法了 ...
- Delegate成员变量和Event的区别
上周五有同事问了我一个问题:Delegate和Event有什么区别?具体来说在设计一个类的时候,声明一个事件(Event)和声明一个Delegate类型的成员变量有啥区别. 我的第一反应是没啥区别 ...
- 使用Mockito进行单元测试【1】——mock and verify[转]
本文转自:http://qiuguo0205.iteye.com/blog/1443344 1. 为什么使用Mockito来进行单元测试? 回答这个问题需要回答两个方面,第一个是为什么使用mock?m ...
- 关于Promise的一个案例
题目:红灯三秒亮一次,绿灯一秒亮一次,黄灯2秒亮一次:如何让三个灯不断交替重复亮灯?(用Promise实现) 解答思路一: function red(){ console.log('red'); } ...
- linux_增加用户组_删除用户
添加账号组 /usr/sbin/groupadd iknow 添加账号 /usr/sbin/useradd -g iknow -d /home/iknow/ iknow 更改密码 passwd 选项 ...
- mac os x10.11.2系统eclipse无法读取环境变量的问题
eclipse调试Android自动化脚本的时候一直无法找到adb,遇到这么坑的问题,折腾死了,记录一下. mac os x10.11.2系统GUI程序(eclipse)无法读取~/.bash_pro ...
- PsExec.exe执行远程程序
PsExec.exe \\192.168.1.1 -u username -p password -i -d -s c:\Windows\system32\NETSTAT.exe -a