51
C# 6.0 Larry Nung

C# 6.0

Embed Size (px)

Citation preview

Page 1: C# 6.0

C# 6.0Larry Nung

Page 2: C# 6.0

AGENDA

Auto-property Initializers

Using Static Members

Exception filters

Null propagation

Nameof expressions

Expression bodied members

String interpolation

Index initializers

Extension Add methods in collection initializers

Await in catch/finally

Reference

Page 3: C# 6.0

AUTO-PROPERTY INITIALIZERS

Page 4: C# 6.0

AUTO-PROPERTY INITIALIZERS (BEFORE)

Page 5: C# 6.0

AUTO-PROPERTY INITIALIZERS (BEFORE)

Page 6: C# 6.0

AUTO-PROPERTY INITIALIZERS (BEFORE)

Readonly property must

init value in variable

Initializer

Page 7: C# 6.0

AUTO-PROPERTY INITIALIZERS (BEFORE)

Readonly property must

init value in variable

Initializer

Page 8: C# 6.0

AUTO-PROPERTY INITIALIZERS (BEFORE)

Page 9: C# 6.0

AUTO-PROPERTY INITIALIZERS (BEFORE)

Auto-property must init

value in constructor

Page 10: C# 6.0

AUTO-PROPERTY INITIALIZERS (AFTER)

Page 11: C# 6.0

AUTO-PROPERTY INITIALIZERS (AFTER)

Initialize value when declaration

Page 12: C# 6.0

USING STATIC MEMBERS

Page 13: C# 6.0

USING STATIC MEMBERS (BEFORE)

Page 14: C# 6.0

USING STATIC MEMBERS (BEFORE)

Page 15: C# 6.0

USING STATIC MEMBERS (AFTER)

Page 16: C# 6.0

EXCEPTION FILTERS

Page 17: C# 6.0

EXCEPTION FILTERS (BEFORE)

Page 18: C# 6.0

EXCEPTION FILTERS (BEFORE)

Stack harmed

Page 19: C# 6.0

EXCEPTION FILTERS (AFTER)

Page 20: C# 6.0

EXCEPTION FILTERS (AFTER)

Stack unharmed

Page 21: C# 6.0

NULL PROPAGATION

Page 22: C# 6.0

NULL PROPAGATION (BEFORE)

Page 23: C# 6.0

NULL PROPAGATION (BEFORE)

Page 24: C# 6.0

NULL PROPAGATION (AFTER)

Page 25: C# 6.0

NAMEOF EXPRESSIONS

Page 26: C# 6.0

NAMEOF EXPRESSIONS (BEFORE)

Page 27: C# 6.0

NAMEOF EXPRESSIONS (BEFORE)

Magic string

Is hard to maintenance

Page 28: C# 6.0

NAMEOF EXPRESSIONS (AFTER)

Page 29: C# 6.0

NAMEOF EXPRESSIONS (AFTER)

Translate names in

compile time

Page 30: C# 6.0

EXPRESSION BODIED MEMBERS

Page 31: C# 6.0

EXPRESSION BODIED MEMBERS (BEFORE)

Page 32: C# 6.0

EXPRESSION BODIED MEMBERS (BEFORE)

Page 33: C# 6.0

EXPRESSION BODIED MEMBERS (AFTER)

Page 34: C# 6.0

EXPRESSION BODIED MEMBERS (AFTER)

May confused with

property and method

Page 35: C# 6.0

STRING INTERPOLATION

Page 36: C# 6.0

STRING INTERPOLATION

Page 37: C# 6.0

STRING INTERPOLATION

Page 38: C# 6.0

STRING INTERPOLATION

Page 39: C# 6.0

INDEX INITIALIZERS

Page 40: C# 6.0

INDEX INITIALIZERS (BEFORE)

Can not assign index with

object Initializer

Page 41: C# 6.0

INDEX INITIALIZERS (AFTER)

Object Initializer + Index

initializer

Page 42: C# 6.0

INDEX INITIALIZERS (BEFORE)

Page 43: C# 6.0

INDEX INITIALIZERS (BEFORE)

With collection initializer

Page 44: C# 6.0

INDEX INITIALIZERS (AFTER)

With index initializer

Page 45: C# 6.0

EXTENSION ADD METHODS IN

COLLECTION INITIALIZERS

Page 46: C# 6.0

EXTENSION ADD METHODS IN COLLECTION

INITIALIZERS (BEFORE)

Page 47: C# 6.0

EXTENSION ADD METHODS IN COLLECTION

INITIALIZERS (AFTER)

Use extension method to

custom collection initializer

Page 48: C# 6.0

AWAIT IN CATCH/FINALLY

Page 49: C# 6.0

AWAIT IN CATCH/FINALLY

Page 50: C# 6.0

REFERENCE