First ve Single
First, FirstOrDefault ve Single ile tek eleman almayı öğrenirsin.
First ile ilk eleman
First metodu, koleksiyonun ilk elemanını döndürür. Koşullu kullanımda, koşulu sağlayan ilk elemanı verir: numbers.First(n => n > 5). Eğer eleman yoksa InvalidOperationException fırlatır.
Güvenli versiyon FirstOrDefault'dur: eleman yoksa türün varsayılan değerini döndürür (sayılar için 0, referanslar için null). Önce Where süzüp First almak yerine doğrudan First(koşul) kullanmak daha kısa ve verimlidir.
Single ile tek eleman
Single metodu, koleksiyonda tam olarak bir eleman olduğunu varsayar. Eğer sıfır ya da iki ve daha fazla eleman varsa hata fırlatır. Koşullu kullanımda, koşulu sağlayan tam bir eleman olmasını bekler.
SingleOrDefault ise eleman yoksa varsayılan değer döndürür; ancak iki ya da daha fazla eleman varsa yine hata fırlatır. Single, eşsizliği garanti etmek istediğin durumlarda kullanılır; örneğin benzersiz kimliğe göre tek kayıt bulmak.
Uygulama İlk çift sayıyı bul
numbers dizisinde First ile ilk çift sayıyı bul ve Console.WriteLine ile yazdır. Çift: n % 2 == 0.
Örnek çözümü göster
numbers.First(n => n % 2 == 0) ile ilk çifti al, Console.WriteLine ile yazdır.
Örnek çözüm:
using System;
using System.Linq;
class Program
{
static void Main()
{
int[] numbers = { 1, 3, 5, 8, 9 };
var first = numbers.First(n => n % 2 == 0);
Console.WriteLine(first);
}
}
Kendini test et
-
Boş koleksiyonda First ne yapar?
new int[0].First();- 0 döndürür
- null döndürür
- InvalidOperationException fırlatır
- false döndürür
Cevabı göster
null döndürür — Doğru. First, boş koleksiyonda InvalidOperationException fırlatır; güvenli versiyon FirstOrDefault'dur.
-
Koşullu First'i tamamla
var big = numbers.____(n => n > 100);Cevabı göster
var big = numbers.First(n => n > 100); -
Metodu davranışına eşle
- First
- İlk elemanı alır
- FirstOrDefault
- Yoksa varsayılan
- Single
- Tam bir eleman
- SingleOrDefault
- Tek ya da varsayılan