C#’ta Tuple
“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ış.

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
güzel olmuş. tekbrikler
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ş…