C# 6.0 功能预览 (二)

在Language Feature Status上面看到,其实更新的并不是特别多,为了不会误导看了C# 6.0 功能预览 (一)的园友,现在把官方的更新列表拿了过来,供大家参考

语言功能实现状态

  • 存在: 在以前的版本中已经存在
  • 完成: 已经在该版本中实现
  • 计划: 预计在该版本中
  • 可能: 预计可能在该版本中
  • 撤销: 可能不在该版本中
  • 没有: 该版本中没有
  • 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

存在

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏DOTNET

.Net多线程编程—任务Task

1 System.Threading.Tasks.Task简介 一个Task表示一个异步操作,Task的创建和执行是独立的。 只读属性: 返回值 ...

38450
来自专栏技术之路

Caliburn.Micro学习笔记(三)----事件聚合IEventAggregator和 Ihandle<T>

今天 说一下Caliburn.Micro的IEventAggregator和IHandle<T>分成两篇去讲这一篇写一个简单的例子 看一它的的实现和源码 下一篇...

30390
来自专栏用户画像

Java HttpClient两种数据传输方式

二、server端的数据接收方式,使用@RequestBody接收二进制字节流,使用@RequestParam接收参数列表

73210
来自专栏王磊的博客

Windows任务管理 连接用户登录信息 通用类[C#版]

通用类名[ComputerLoginUserInfo.cs] 代码如下: using System; //---引用 using System.Runtime...

38860
来自专栏ASP.NET MVC5 后台权限管理系统

ASP.NET MVC5+EF6+EasyUI 后台管理系统(59)-BLL层重构

前言:  这应该是本系统最后一次重构,将重构BLL层和Model层。来完全取代代码生成器生成的BLL层和DAL层。完全废掉了代码生成器的DAL,BLL,MOD...

396100
来自专栏Java成神之路

JavaUtil_06_HttpUtil_使用httpclient实现

28030
来自专栏张善友的专栏

.NET 4 System.Threading.Barrier 类

在Visual Studio 2010 and .NET Framework 4 Training Kit中有个System.Threading.Barrier...

24590
来自专栏SpringBoot

jTable插件辅助资料

==============================================jTable插件========...

14840
来自专栏跟着阿笨一起玩NET

NPOI简述与运用

最近想把项目中Excel中的操作部分改成NPOI ,由于2.0版本已经支持office07/10格式,但还处于测试版不稳定,于是封装如下代码

14710
来自专栏编舟记

Kotlin 重构 - F6 not working?原始代码目标代码重构步骤如下:小结问题

Option + Enter, Convert member to extension

7220

扫码关注云+社区

领取腾讯云代金券