19 Eylül 2018 Çarşamba

Linq Quantifier Metodları

Giriş
Quantifier metodları dizinin tamamının veya bazı elemanların bir koşulu sağlayıp sağlamadığını döndürürler.

All metodu
Örnek ver

Any metodu- Empty
Eğer liste null ise ArgumentNullException fırlatır. Açıklaması şöyle.
I have a bag with five potatoes in it. Are there .Any() potatoes in the bag?

"Yes," you say. <= true

I take all of the potatoes out and eat them. Are there .Any() potatoes in the bag?

"No," you say. <= false

I completely incinerate the bag in a fire. Are there .Any() potatoes in the bag now?

"There is no bag." <= ArgumentNullException
Predicate almayan Any sadece dizinin boş olup olmadığını döner. İçi şöyledir.
public static bool Any<TSource>(this IEnumerable<TSource> source) 
{
  if (source == null) throw Error.ArgumentNull("source");
  using (IEnumerator<TSource> e = source.GetEnumerator()) {
    if (e.MoveNext()) return true;
  }
  return false;
}
Örnek
Şöyle kullanırız.
IEnumerable<int> listOfThings = new List<int>();
...
if (listOfThings.Any()) {...}
Any metodu - Predicate
Şöyle yaparız.
List<Mobiles> mobList = new List<Mobiles>()
{
  new Mobiles() { mName = "iPhone 4", mCat = "Smart Phone"},
  ...
};

bool flag = mobList.Any(x => (x.mName =="iPhone 4"));

Contains metodu
Contains metodu List sınıfına ait Equals() metodu ile karıştırılıyor. Contains elemanın Equals() metodunu gerçekleştirmesini ister.


Hiç yorum yok:

Yorum Gönder