前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C# 6.0 功能预览 (二)

C# 6.0 功能预览 (二)

作者头像
数据分析
发布2018-03-01 16:40:33
6910
发布2018-03-01 16:40:33
举报
文章被收录于专栏:数据分析数据分析

在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

存在

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-05-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 语言功能实现状态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档