Tuple Metot Kullanımı

Yazdığımız uygulamaların ihtiyacına göre bazen metotlarımızdan birden fazla değer döndürmek isteriz. Artık metotumuzdan dönen değerleri diziye,liste atmak yerine .Net 4.0 ile birlikte gelen Tuple metot yapısını kullanarak metotumuzdan birden fazla değer döndürebiliyoruz. Kullandığımız projelere göre bu yapıyı kullanma tercihini size bırakıyorum. Ben örneğimde Tuple metotuma ürün kodu veriyorum ve kendisinden ürünün renk ve diğer varyant bilgilerini vermesini talep ediyorum. Bu bilgileri alıp ekrana yazdırıyorum.

[csharp]

static SqlConnection con;
static SqlConnection Baglanti()
{
if (con == null)
{
con = new SqlConnection("Data Source=.;Initial Catalog=UzmanDB;User ID=sa;Password=1;");
}
return con;
}

static void Main(string[] args)
{
//Tuple metodumuza Ürün kodunu veriyoruz ve bize ürünün varyant bilgilerini döndürüyor.
//Tuple Metodumuzdan dönen birden fazla değeri ekranımıza yazdıralım.
var DonenVeriler = UrunGetir("10.003");
Console.WriteLine("Ürün Kodu: {0}", DonenVeriler.Item1);
Console.WriteLine("Renk Kodu: {0}", DonenVeriler.Item2);
Console.WriteLine("Boyut 1: {0}", DonenVeriler.Item3);
Console.WriteLine("Boyut 2: {0}", DonenVeriler.Item4);
Console.WriteLine("Boyut 3: {0}", DonenVeriler.Item5);
Console.WriteLine();
Console.WriteLine("******** Mesut GÜNEŞ ********");

}

static Tuple<string, string, string, string, string> UrunGetir(string urunKodu)
{
string ItemCode = "";
string ColorCode = "";
string ItemDim1Code = "";
string ItemDim2Code = "";
string ItemDim3Code = "";
SqlCommand cmd = new SqlCommand("select ItemCode,ColorCode,ItemDim1Code,ItemDim2Code,ItemDim3Code from prItemVariant where ItemCode=@ItemCode ", Baglanti());
if (Baglanti().State != ConnectionState.Open) Baglanti().Open();
cmd.Parameters.AddWithValue("@ItemCode", urunKodu);
SqlDataReader dr = cmd.ExecuteReader();
int satirSayisi = 0;
while (dr.Read())
{
satirSayisi++;
ItemCode = dr["ItemCode"].ToString();
ColorCode = dr["ColorCode"].ToString();
ItemDim1Code = dr["ItemDim1Code"].ToString();
ItemDim2Code = dr["ItemDim2Code"].ToString();
ItemDim3Code = dr["ItemDim3Code"].ToString();
}
if (satirSayisi < 1)
{
Console.WriteLine("————— Hata Meydana Geldi —————–");
Console.WriteLine(string.Format("{0} kodlu ürün sistemde kayıtlı değil..", urunKodu));
return null;
}
return Tuple.Create(ItemCode, ColorCode, ItemDim1Code, ItemDim2Code, ItemDim3Code);
}

[/csharp]

tuplecikti

tuplehatalicikti

Mesut Güneş

Selçuk Üniversitesi Bilgisayar programcılığı bölümünden mezun olduktan sonra birçok firmada Yazılım, İş zekası ve Veritabanı Uzmanı olarak çalıştım. Şuan Türkiye’nin en büyük şirketlerinden biri olan Doğan Online’da Veritabanı Yöneticisi olarak çalışıyorum.

You may also like...

Bir cevap yazın

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.