Dictionary tarzı, Key – Value çiftlerinden oluşmuş tiplerin elemanlarını birleştirerek göstermek istediğimiz durumlar oluşatuğunda ne yapmalıyız? Ben genelde bu tarz işlemlerde LINQ nimetlerinden faydalanmayı uygun buluyorum. Aksi taktirde diziler ve indexleriyle uğraşmak zorunda kalıyorum.
Web uygulamalarında URL oluştururken parametre değerlerini girmek istediğimizde, parametre adları ve değerlerini Key Value çiftleri olarak değerlendirebiliriz.
Örneğin şu şeklide bir URL oluturmak istiyoruz. www.bayramucuncu.com/urunler?id=5&categoryId=9&color=blue
Bu URL’in Querystring bölümünü (id=5&categoryId=9&color=blue) kısmını bu şekilde oluşturmaya çalışalım.
Öncelikle query string oluşturacak metodu yazmalıyız. Bu metodumuz da anahtar ve değer ikililerini tutan bir Dictionry<string,string> parametresi almalı.
private string queryString(Dictionary<string, string> parameters) { if (parameters == null) throw new ArgumentNullException("Parametreler boş gönderilemez"); var pairs = parameters.Select(i => string.Format("{0}{1}{2}", i.Key, "=", i.Value)); var values = string.Join("&", pairs); return string.Join("&", pairs); }
Bu şekilde, amaçladığımız query string oluşturma işlemini yapacak metodu hazırladık. Şimdi de sonuca bakalım.
queryString(new Dictionary<string, string> { { “id”, “5” }, { “categoryId”, “9” }, { “color”, “blue” } });
şeklinde gönderilen bir dictionary sonucunda karşımıza şu şeklide bir resim çıkıyor.
ve işlem başarılı!
Tekrar görüşmek dileğiyle.