C#’ta Tuple

Ocak 3, 2010 · mucit yazdı · 2 yorum 

Tuple” matematikten bilgisayar bilimine hoplayan, karışık tipteki elemanlar bulunduran dizileri temsil eden bir terim. Fonksiyonel diller bunu önceden beri destekliyor. Ama C# kıyılarına, dördüncü .NET‘te geliyor.

var data = new Tuple("bulutlararası", 2010);

Koda kulak verelim: farklı türde iki verinin peşpeşe bir constructor‘a verildiğini anlıyoruz. Oluşan tip, anonim tiplere benziyor. Bir farkla ki bunu az sonra anlatacağız.

Constructor yerine static metodumuz da var.

var data = Tuple.Create<string, int>("bulutlararası", 2010);

Tip çıkarımı, işe yaramaz mı:

var data = Tuple.Create("bulutlararası", 2010);

Şimdilik en kısa oluşturma şekli bu. Gelelim anonim tipler ile farka. Anonim tipler, metodun dönüş değeri olamıyor. Yazıldığı metodda mahpus; metodun kapsamına mahkum. O nedenle çok dar bir kullanım sahası var. Linq sorgusundan gelenleri almada problem yok ama sonrasında anonim tipler yanınızdan uzaklaşıveriyor.

Elemanlara ulaşalım:

var item1 = data.Item1; // "bulutlararası"
var item2 = data.Item2; // 2010

Tuple, bundan ibaret. Bir dördüncü .NET yeniliği. Mono de Icaza, hemen desteklemiş. Kereveti bize kalmış.

mucit kimdir?
"Evangelist" rüzgarına kapılıp kendine ünvan yaptı: framework evangelist. API yazmanın hastası. Ve sevdiği sıcaklar: regex, c#, dinamik diller. Hiç düşünülmemiş ufak araçlar yazarak mutlu olmaya, kurumsal yazılım mimarilerinde top koşturarak vergi ödemeye çalışıyor. Mühendis. KOU-CENG tayfasından.

Yorumlar

“C#’ta Tuple” yazısı için 2 yorum yapıldı.
  1. burc diyor ki:

    Dördüncü .Net deyince padişah ismi gibi olmuş :)

    Artık çıksa da görsek şu 4.0

    not: bu arada yazım yanlışlarını belirtiyor textarea :D güzel olmuş. tekbrikler

  2. burc diyor ki:

    acılar içinde fark ettim ki not da bahsettiğim yazım yanlış düzeltmesi yeni yüklediğim Chrome’un maharetiymiş.

    “mahareti yanlış yazdın diyor” hoş…

Ne düşünüyorsun?

Aklından geçeni bizimle paylaş, konuya renk kat, çılgın tartışmalar başlat!