Ana Sayfa Microsoft .NETC# C# Tuple Nedir ? Nasıl Kullanılır ?

C# Tuple Nedir ? Nasıl Kullanılır ?

by Sinan BOZKUŞ
17.193 kez okundu

.NET Framework 4.0 ile gelen Tuple ile bir method üzerinden birden fazla değer döndürmemiz sağlanıyor. Aslında bu işlem Tuple öncesinde de out parametresini kullanarak veya içerisinde birden fazla değer barındıran bir model kullanılarak da yapılabiliyordu.

Peki Tuple kullanmanın avantajı ne ?

Bana göre en büyük avantajı basit bir şekilde (ayrı bir model veya taşıyıcı kullanmadan) birden fazla değer döndürmek istediğinizde size hız kazandırması.

Kullanımıyla ilgili kısa bir örnek göstereceğim.

Yukarıda da bahsettiğim gibi Tuple ile birden fazla değer (ister 2 ister n tane…) döndüren method yazabilirsiniz. Örnek olarak bir method içerisinden sınıftaki en başarılı ve en başarısız öğrencilerin Id değeri ile birlikte sınıf öğretmeninin de Id değerini döndüreceğim.

[csharp]
// method adı çok saçma oldu farkındayım :)
public Tuple<long, long, long> BasariliZayifveOgretmenIdleriniGetir()
{
long enZayifOgrenciId = 1;
long enBasariliOgrenciId = 2;
long sinifOgretmeniId = 3;

return Tuple.Create(enZayifOgrenciId, enBasariliOgrenciId, sinifOgretmeniId);
}
[/csharp]

tuple_1

Gördüğünüz gibi method’umun döndüreceği değer tipi olarak bir Tuple tanımladım ve içerisinde 3 tane long tipi belirledim. İstersem bu long değerlerini daha da artırabilir veya farklı bir veri tipi (class dahil) yapabilirdim. Tuple Generic yapıda olduğu için (bazı istisnalar hariç) her veri tipini kabul edecektir.

Şimdi bu methodumdan gelen değerleri nasıl kullanabileceğimize bakalım.

[csharp]
public void ()
{
Tuple<long, long, long> tupple = BasariliZayifveOgretmenIdleriniGetir();

long enZayif = tupple.Item1;
long enBasarili = tupple.Item2;
long sinifOgretmeni = tupple.Item3;
}
[/csharp]

tuple_2

İşlem bu kadar basit. Tuple kullanarak istediğiniz sayıda istediğiniz tip nesneyi bir yerden bir yere taşıyabilirsiniz.

Bunlara da bakmak isteyebilirsiniz

2 yorum

Onur TURAN 16 Aralık 2017 - 15:49

Merhaba,
Bir arkadaş 8 adet Tipi taşıyabileceğimizi paylaşmış olduğundan soruyorum,

İşlem bu kadar basit. Tuple kullanarak

“istediğiniz sayıda istediğiniz tip nesneyi bir yerden bir yere taşıyabilirsiniz.” demişsiniz.

Yanıtla
Yavuz Aydogan 20 Nisan 2022 - 08:38

Teşekkürler, fakat 8 item’ a kadar destekliyormuş ek bilgi olsun.

Yanıtla

Bir Yorum Bırakın