Roslyn 编译平台概述
2014-05-07 23:35
197 查看
在Language Feature Status上面看到,其实更新的并不是特别多,为了不会误导看了C# 6.0 功能预览 (一)的园友,现在把官方的更新列表拿了过来,供大家参考
C# 6.0 功能预览 (二)
Roslyn 编译平台概述示例
语法可视化工具
蓝图
语言功能状态
语言设计说明
FAQ
语言功能实现状态
存在: 在以前的版本中已经存在完成: 已经在该版本中实现
计划: 预计在该版本中
可能: 预计可能在该版本中
撤销: 可能不在该版本中
没有: 该版本中没有
N/A: 没有意义
功能 | 例子 | C# |
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 }; | 计划 |
Null propagation | 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); | 可能 |
String interpolation | "\{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 modules | Strict Module M | 存在 |
Faster CInt | Dim x = CInt(Math.Truncate(d)) | | 存在 |
#pragma | #Disable Warning BC40008 | 存在 |
Checked and Unchecked blocks | Checked : x += 1 : End Checked | 存在 |
相关文章推荐
- TCP IP UDP协议的区别
- Android调用WebService
- 你正在犯的错
- 《Cocos2d-x游戏开发之旅》读书笔记1:开发环境
- C,C++,C#,java,python编写简单的echo服务程序
- shell中的字符串问题(截取)
- 锁对象的维护
- 模拟退火
- Unity3d中使用log4net
- C#开发157
- BI学习路线
- SQL查找删除重复行
- 和HTMLSpecialChars()功能相反的函数
- 做网页设计,应该如何发展?
- 大陆身份证号码格式校验代码
- 面向对象葵花宝典阅读思维导图(一)
- nyist 655 光棍的yy(大数问题)
- 命名有意义的版本号2.0.0
- VS2010自动化测试系列 收藏
- Animation的学问