C# 7’de Gelmesi Muhtemel Yeni TUPLES Özellikleri

Selamlar,

Bugün C# 7’de TUPLES sınıfına, gelmesi muhtemel yeni özellikleri inceleyeceğiz. Yani şu an var olan “Tuple” sınıfının eksiklerini tamalama amaçlı düşünülen bu gelişmeleri örnekler ile inceleyeceğiz.

İsterseniz gelin önce şu an var olan Tuple sınıfını bir hatırlayalım:

Tuple istenen sayıda ve istenen tipde veri tutan bir yapıdır. Parametre sayısı olarak Max 8 gözükse de parametre değeri olarak yeni bir Tuple verildiğinde, değişken sayısı nerede ise sınırsıza ulaşmaktadır:) Esas amaç, farklı data tipindeki çoklu veriyi, sınıf oluşturmadan istendiğinde döndürebilmektir. Namespace’i System.Tuple‘dır.

result

Yukarıdaki örnekte görüldüğü gibi 3 farklı tipte değişken Tuple içerisine yazılmış ve okunmuştur.

Tuple.Create() method : Tuple nesnesi oluşturmak için “Tuple.Create()” static methodu kullanılabilir.

Yukarıdaki örnekde görüldüğü gibi  ilgili Create() static methodu ile değişkenler “Tuple”‘a atanmış ve herbir değişken  çeklip belli koşullar içinde kullanılmıştır. Uygulamanın çıktısı aşağıdaki gibidir.

result2

Çoklu Değer Döndürme: Methodlar çoklu değer döndürmek için “Tuple”‘ı kullanabilir.

Tuple’ın Avantajları:

  • Kaç tane parametre taşısa da tekil bir nesnedir.
  • Erişimi kolaydır.
  • Bir method “out” paramteresi almadan birden fazla değer döndürebilir.

Tuple’ın Dezavantajları:

Tuple’ın en kötü yanı bünyesindeki eleman isimleridir. “Item1″,”Item2” şeklinde erişmek, kodun anlaşılırlığı açısından hiçte iyi değildir. “Tuple”‘ın geri dönüş değeri, geliştirici için pek de anlam ifade etmemektedir. Bu da okunurluğu düşürmekte ve code’un sonradan tekrardan geliştirilmesini engellemektedir.

İşte tam bu noktada ya bir methodun dönüş tipi Tuple’a benzer bir yapı haline getirilirse:

C# 7 ile Olması Muhtemel Tuple Yeniliği – 1:  Aşağıda tüm ürünler gezilerek toplam sayısı ve ödenecek toplam ürün fiyatı geri dönülmektedir.

Methodun Geri dönüşünü yakalamak için 2 farklı muhtemel yol tasarlanmıştır: Ben ilkini daha çok beyendim. Geri dönüş tipi bir çeşit sınıf gibi çalışıyor. 2. yöntemde, belirtilen herbir değişkene atamalar yapılmaktadır. Ama zaman ne göstericek ben de bilmiyorum.

Tuples Ve Async: İstenir ise “Tuple” asenkron olarak da result şeklinde dönülebilecektir. Örnek kod aşağıdaki gibi değiştirilmiştir. Böylece toplam ürün masrafı ve kaç adet ürün alındığı ekrana yazdırılmıştır.

Geldik bir makalenin daha sonuna. Bu makalede C #7 ile “Tuple” sınıfı için muhtmel gelebilecek yeniklere göz attık. Umarım hepsi gelir. Böylece anlaşılır kod yazma adına çok da tercih etmediği “Tuple” artık benim de favorim olabilir:)

Yeni bir makalede görüşmek üzere hoşçakalın.

Kaynak :https://github.com/dotnet/roslyn/issues/347

Herkes Görsün:

Sevebilirsin...

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir