5 Ekim 2014 Pazar

Linq Quantifier Metodları

Not : Ana Linq yazısına burada. Metodları işlevlerine göre gruplandırdığım için bu yeni yazıya gerek duydum.

Giriş
Quantifiers kelimesi Türkçe'ye tam çevirilemiyor. İngilizce gramerinde quantifiers olarak geçen kelimeler some, any, a few, a little, much, many, a lot of vs.

Linq dünyasında quantifers olarak anılan olarak tasnif edilen All, Any, Contains metodlar sayısal bir değer yerine boolean bir sonuç döndürürler.

Diğer algoritmalar için buraya bakabilirsiniz.

All
Örnek yaz

Any
İki overload'u var.

Lambdasız kullanımı
Eğer herhangi bir lambda verilmezse, enumerable içinde nesne olup olmadığı döner.
Determines whether a sequence contains any elements.

Örnek:
types.Where((x, i) => values[i].GetType() != x).Any()

Lambdalı kullanımı
Herhangi bir elemanın koşulu yerine getirip getirmediğini boolean olarak döndürür.
Determines whether any element of a sequence satisfies a condition.
İki listenin contains koşulu için kullanılabilir. JobList ve MasterDataList isimli iki listemiz olsa, ve Master liste içinde bulunan işleri çekmek istesek aşağıdaki gibi yapabiliriz.
jobList.Where(job => masterDataList.Any(m => m.Id == job.MasterDataId));

Contains
Örnek yaz

Hiç yorum yok:

Yorum Gönder