CodeBlanks Logo Icon CodeBlanks

LINQ nedir?

C# kursu · Orta seviye · Ders 88/116

LINQ'in ne olduğunu ve koleksiyonlara nasıl sorgu yazdığını öğrenirsin.

LINQ nedir?

LINQ (Language Integrated Query), C#'ta koleksiyonlara sorgu yazmanın standart yoludur. Bir dizi, liste ya da sözlük üzerinde süzme, dönüştürme ve hesaplama yapmanı sağlar. LINQ metotları IEnumerable<T> arayüzünü genişletir; bu yüzden dizi ve listelerle doğrudan çalışır.

Temel metotlar: Where süzer, Select dönüştürür, OrderBy sıralar. Bunları zincirleyebilirsin: numbers.Where(n => n > 5).Select(n => n * 2). Sonuç yine bir koleksiyondur.

LINQ nasıl çalışır?

LINQ metotları genişletme metotlarıdır (extension methods). IEnumerable<T> arayüzünü almış her koleksiyonda çağrılabilirler: diziler, listeler, sözlükler. Her metot bir lambda ifadesi alır; bu, her eleman için çalışacak küçük bir fonksiyondur.

Örneğin numbers.Where(n => n > 0) çağrısında n => n > 0 lambdası her sayı için çalışır ve true döndürenleri tutar. Sonuç bir IEnumerable<int>'tir; ister foreach ile gezersin, ister .ToList() ile listeye çevirirsin.

Uygulama İlk LINQ sorgunu yaz

Aşağıdaki numbers dizisinde Where ile 5'ten büyük olanları süz ve foreach ile her birini Console.WriteLine'la yazdır.

Örnek çözümü göster
numbers.Where(n => n > 5) ile süz, foreach ile gez ve Console.WriteLine(n) ile yazdır.
Örnek çözüm:
using System;
using System.Linq;

class Program
{
    static void Main()
    {
        int[] numbers = { 3, 8, 1, 10, 5 };
        foreach (var n in numbers.Where(n => n > 5))
        {
            Console.WriteLine(n);
        }
    }
}

Kendini test et

  1. LINQ neyi kolaylaştırır?

    • Sadece veri tabanına bağlanmayı
    • Koleksiyonları bildirimsel biçimde süzme, dönüştürme ve hesaplamayı
    • Sınıfların otomatik olarak üretilmesini
    • Konsol çıktısının renklendirilmesini
    Cevabı göster

    Koleksiyonları bildirimsel biçimde süzme, dönüştürme ve hesaplamayı — Doğru. LINQ, koleksiyonlar üzerinde bildirimsel sorgu yazmayı sağlar; süzme, dönüştürme ve hesaplama tek düzende yapılır.

  2. using yönergesini tamamla

    using System.Linq;
    
    int[] numbers = { 1, 2, 3 };
    var evens = numbers.____(n => n % 2 == 0);
    Cevabı göster
    using System.Linq;
    
    int[] numbers = { 1, 2, 3 };
    var evens = numbers.Where(n => n % 2 == 0);
  3. Metodu rolüne eşle

    Where
    Süzer
    Select
    Dönüştürür
    OrderBy
    Sıralar
    First
    İlk elemanı alır

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