Any ve All
Any ve All ile koşul kontrolünü öğrenirsin.
Any ve All ile koşul kontrolü
Any metodu, koleksiyonda en az bir elemanın koşulu sağlayıp sağlamadığını sorar. true ya da false döndürür. numbers.Any(n => n > 100) en az bir büyük sayı var mı diye bakar.
All metodu ise tüm elemanların koşulu sağlamasını bekler. numbers.All(n => n > 0) tüm sayılar pozitif mi diye sorar. İkisi de bool döndürür; koleksiyonu tüketmezler, koşul ilk uyan ya da uymayan elemanda dururlar.
Any ve All farkı
Any mantıksal VEYA gibidir: bir tane bile eşleşme yeter. All mantıksal VE gibidir: bir tane uymayan bile sonucu false yapar. Boş koleksiyonda Any false, All true döner (matematiksel boş-doğru).
Koşulsuz Any() çağrısı koleksiyonun boş olup olmadığını söyler: list.Any() liste doluysa true döner. Bu, list.Count > 0'a göre daha verimlidir çünkü eleman saymaz, yalnızca bir tane var mı diye bakar.
Uygulama Negatif var mı?
numbers dizisinde en az bir negatif sayı olup olmadığını Any ile sorgula ve sonucu Console.WriteLine ile yazdır.
Örnek çözümü göster
numbers.Any(n => n < 0) ile sorgula, sonucu bir değişkene al ve Console.WriteLine ile yazdır.
Örnek çözüm:
using System;
using System.Linq;
class Program
{
static void Main()
{
int[] numbers = { 3, 7, -2, 8 };
var has = numbers.Any(n => n < 0);
Console.WriteLine(has);
}
}
Kendini test et
-
Any(true) ne zaman true döner?
new[] { 1, 2, 3 }.Any(n => n > 2);- Hiçbir zaman
- Koşulu sağlayan en az bir eleman varsa
- Tüm elemanlar koşulu sağlarsa
- Koleksiyon boşsa
Cevabı göster
Hiçbir zaman — Doğru. Any, koşulu sağlayan en az bir eleman varsa true döner; örnekte 3 > 2 olduğu için true döner.
-
Any çağrısını tamamla
bool hasBig = numbers.____(n => n > 100);Cevabı göster
bool hasBig = numbers.Any(n => n > 100); -
Metodu davranışına eşle
- Any
- En az biri sağlar
- All
- Hepsi sağlar
- Any()
- Boş değil mi
- All(n => n > 0)
- Hepsi pozitif mi