CodeBlanks Logo Icon CodeBlanks

First ve Single

C# kursu · Orta seviye · Ders 92/116

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

  1. 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.

  2. Koşullu First'i tamamla

    var big = numbers.____(n => n > 100);
    Cevabı göster
    var big = numbers.First(n => n > 100);
  3. Metodu davranışına eşle

    First
    İlk elemanı alır
    FirstOrDefault
    Yoksa varsayılan
    Single
    Tam bir eleman
    SingleOrDefault
    Tek ya da varsayılan

Orta seviye bölümündeki tüm dersler