28 Eylül 2015 Pazartesi

Platform Status: Facebook Graph API Unavailable

Merhaba,

Türkiye saatiyle yaklaşık olarak 28/09/2015 22:40 'da Facebook Sosyal Ağ sitesine erişim sağlanamamaktadır.

Facebooktan gelen habere göre; Facebok Graph API 'den (izinli olarak bilgiyi paylaşmak desek yanlış olmaz) kaynaklanan hatadan dolayı sayfalar açılmıyordu.



Türkiye saatiyle yaklaşık olarak 28/09/2015 22:54 'de Facebook Sosyal Ağ sitesine erişim tekrar düzeldi.

14 Eylül 2015 Pazartesi

LINQ Extensions - Any

Merhaba, 

LINQ extensions methodlarından ANY methodunu anlatacağım. 

Elinizde bir liste var ve bu listenin bir durumu sağlayıp sağlamadığını anlamak istiyorsunuz. Böyle bir durumda LINQ extensions - ANY methodunu kullanabilirsiniz. 

Bir koşul verip size geri bool değer döndüren bir yapısı vardır.

Nasıl mı?


var result = listSample.Any(item => (item % 10) == 0);


Burada eğer bir tane bile 10'a göre modu 0 olan varsa true döner. 
Yani kısacası bir eleman bile koşulu sağlarsa true döner.


Klasik yöntem ile yapmış olsaydık;



var resut = false;foreach (var item in listSample){ if ((item % 10) == 0) {  resut = true;  break; }} 
Console.WriteLine("Sonuc : {0}",result); 

Görüldüğü gibi Clean-Kod olarak da işimize yarıyor


Bol kodlu günler..

LINQ Extensions - All

Merhaba,

LINQ extensions methodlarından ALL methodunu anlatacağım.

Elinizde bir liste var ve bu listenin bir durumu sağlayıp sağlamadığını anlamak istiyorsunuz. Böyle bir durumda LINQ extensions-ALL methodunu kullanabilirsiniz.

Bir koşul verip size geri bool değer döndüren bir yapısı vardır.

Nasıl mı?


var result = listSample.All(item => (item % 10) == 0);


Biz burada listenin içindeki elemanların hepsinin 10'a göre modunun 0 olması durumunu kontrol ettik.

Yani 1 tane bile 10'a göre modu 0 olmayan varsa result = false olacaktır. Kısacası bütün elemanlar verdiğimiz koşulu sağladığı zaman true döner.

Klasik yöntem ile yapmış olsaydık;


var resut = true;
foreach (var item in listSample){ if ((item % 10) != 0) { resut = false; break; }}
Console.WriteLine("Sonuc : {0}",result); 

Aslında kafanız karışmasın. ALL methodu da her bir elemanı dönüyor aslında. Sadece bize sadelik katmakta.

Bol kodlu günler..




LINQ Extensions - Aggregate

Merhaba,

Bugünkü yazımda size .Net - System.Linq içinde yer alan Aggregate methodundan bahsedeceğim.

Aggregate'in türkçesi; toplam, bütün, küme diye geçmektedir (bkn. GoogleTranslate). Peki biz yazılımcılar için ne manasına geliyor?

Yapılan işlemin bir sonraki elemanın işlemesi sırasına aktarımıdır. Karışık oldu biraz. Aslında en iyi anlatım şekli listenin içinde bulunan sayıların toplamı örneği olur. Yani;

1, 2, 3, 4, 5, 6, 7 sayılarını barındıran bir listemiz olsun.

Klasik yöntemle çözmek istersek;


var listSample = new List();listSample.AddRange(new[] { 1, 2, 3, 4, 5, 6, 7 });var result = 0; foreach (var item in listSample){   result += item;}Console.WriteLine("Sonuc : {0}",result);



Burada 1 ile 2'yi topladık ve 3 ile toplamaya gönderdik. Çıkan sonucu 4 ile topladık. Sürekli yapılan işlemi aslında bir sonraki elemanla toplamak için result değişkenini kullandık.

İşte Aggregate ile yapılma şekli;


var result = listSample.Aggregate((firstParam, secondParam) => firstParam + secondParam);Console.WriteLine("Sonuc : {0}",result); 


1. Adımda fisrtParam = 1, secondParam = 2
2. Adımda fisrtParam = 3, secondParam = 3
3. Adımda fisrtParam = 6, secondParam = 4
4. Adımda fisrtParam = 10, secondParam = 5
5. Adımda fisrtParam = 15, secondParam = 6
6. Adımda fisrtParam = 21, secondParam = 7

Sonuç = 28

Aggregate'in nasıl kullanıldığını örnek üzerinden açıklamaya çalıştım.

Bol kod'lu günler..