C# 6.0 ile gelen yenilikler

1 – AUTO PROPERTY

Artık bu şekilde classlarımız içerisinde oluşturduğumuz propertylerimize default değerler verebiliyoruz. C# 6.0 dan önce bunu yapmak isteseydik üst satırlarda bir field’ımız olması gerekirdi ve get set ile onu kullanırdık.

Burada da sadece Getter only bir propertymiz var. C#6.0 öncesinde böyle bir tanımlama yapmamız mümkün değildi. Getter only property sayesinde readonly bir property yapmış oluyoruz. Bir örnek daha verelim

Bu örneğimizde de readonly dışında bir kullanım görmüş olduk.
2 – EXPRESSION BODIED FUNCTION MEMBERS
Lambda işareti ile geneleksel metot gövdesi yerine geçecek bir ifade tanımlayabilirim.
Expression bodies on property-like function members:

Expression bodies on method-like members:

Burada yapmış olduğum aslında şu;

3 – USING STATIC
Namespace gibi namespace altındaki static classlarımızıda ekleyebileceğiz.

4 – NULL-CONDITIONAL OPERATORS
Null kontrolleri daha hızlı yapmamızı sağlıyor.

5 – STRING INTERPOLATION

bu şekilde bir kullanım yerine
string ifadenin içinde field atmamızı sağlıyor. Örneğin;

6 – NAMEOF EXPRESSIONS
Gerçekten güzel bir soruna çözüm üretilmiş.

şeklinde x null olduğunda bir exception fırlatıyor iyi hoş
Ancak kodumda x’i değiştirdiğim editör benim için tüm xleri değiştiriyor olmasına karşılık “x” şeklinde belirtiğim
String ifadeyi haliyle değiştiremiyor, bu yüzden nameof kullanıyoruz.

7 – INDEX INITIALIZERS
Enteresan bir özellik olmuş 🙂 kolay bir şekilde indexlemeye yarıyor.

8 – EXCEPTION FILTERS
Catch bloğu içerisinde bir if şartı yazmak yerine daha pratik bir kullanım getirilmiş. VB ve F# da vardı ve artık C# da gelmiş oldu.

9 – AWAIT IN CATCH AND FINALLY BLOCKS
finally ve catch bloklarında await kullanımını bize sağlayan özelliğimiz. C#5.0 ile gelen async await kullanımının bazı kısıtları vardı. Catch ve finally blocklarında wait ile beklemek zorunda kalıyorduk, artık bundan kurtulduk

10 – PARAMETERLESS CONSTRUCTORS IN STRUCTS
Parametre almayan structs kurucular tanımlayamıyorduk fakat C#6.0 ile artık bunu yapabiliyoruz.

Content Protection by DMCA.com

1 yorum

2 geri izleme / bildirim

  1. Roslyn Compiler | ÖMER ÇECE
  2. C# 6.0 ile gelen yenilikler | Cemelma'dan küçük hatırlatmalar

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*