C#7 Yeniliklere Devam

C# 7 için daha önceki makalelerimizde büyük değişiklikleri görmüştük. Şimdi ise hayatımızı kolaylaştıracak olan güzel dokunuşlar üzerinden geçelim istedim. İlk olarak diğer makalelerimiz üzerinde de durduğumuz out ile başlayalım.

546

C# 7 için daha önceki makalelerimizde büyük değişiklikleri görmüştük. Şimdi ise hayatımızı kolaylaştıracak olan güzel dokunuşlar üzerinden geçelim istedim. İlk olarak diğer makalelerimiz üzerinde de durduğumuz out ile başlayalım.

OUT 

Out parametresi birden çok değişkeni döndürmek istediğimizde kullandığımız anahtar özelliklerin başında geliyordu. Aşağıdaki out dönüşü yapan ufak bir metod tanımladım.

Metoddan da anlayacağınız gibi bize bool bir değer ve out olarak string bir ifade dönüyor. Aşağıda da klasik çağrım şeklini görüyoruz.

OUT işlemlerinde asıl değişim metod tanımında değil. Bu metodun çağrımında olmuştur. Aşağıda görüleceği gibi artık önceden değişken tanımına gerek kalmamıştır.

Burada out string  bildirmek yerine var türünü argüman olarak kullanabilirsiniz.

Değişkenlerin burada kullanıldığını, sadece sınırlı kapsam içerdiğini, dolayısıyla bunları yöntem dışında kullanamayacağımıza unutmayın.Değişkeni doğrudan argüman olarak tanımlayabildiğimiz için, C# 7.0 bize bunları da var olarak ilan etme özgürlüğünü verir . Dolayısıyla veri türü hakkında endişelenmemize gerek kalmıyor.

Pattern matching (Kalıp eşleştirme)

C# 7 ile birlikte yeni desen eşleştirmeleri sayesinde artık spesifik class veya structure yapılarını case bloklara taşıyabiliyoruz. Fakat null değerler için bir eşleşme yapılamamaktadır. Bunu case blokları içinde kendiniz yakalamak zorundasınız. Kalıp eşleştirme isifadeleri ve switchifadeleri destekler . Her biri, o nesnenin aranan kalıbı karşılayıp karşılamadığını belirlemek için bir nesneyi ve özelliklerini inceler.

Klasik bir Switch-case yapısı aşağıdaki gibidir.

Aşağıda da görüleceği gibi artık string ,int vb. veri tiplerinden daha fazlasını kullanabiliyoruz.

 

throw Expressions

throw ifade eskiden kullanılamazdı. aslında bunun gibi ifadelerde bulunmaktadır. Ama artık expressionlar içinde kullanılabilir hale geldi. Buda artık bize gerçekten yazım kolaylığı getirmektedir. Aşağıda aynı metodun eski ve yeni halini görebilirsiniz.

Eski hali görüldüğü üzere daha uzun bir yazım şeklidir.

 

Sayısal Sözdizimi İyileştirmeleri

Sayısal sabitleri yanlış okumak kodun  anlaşılmasını zorlaştırabilir. Bu sıklıkla sembolik olarak kullanıldığında ortaya çıkar. C# ta bu sorunumuza ufak bir çözüm sunmaktadır.

Aşağıda göreceğiniz gibi sayıları “_” ayracı ile basamaklarına ayırabiliriz. double,decimal,float için bu kullanılabilir.

yine bit sayıların kolay okunabilmesi için “_” ayracını yeniden kullanabiliriz.

Başka bir yazıda görüşmek üzere…

Yorum yaz

Email adresiniz yayınlanmayacaktır.