LINQ nedir?
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
-
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.
-
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); -
Metodu rolüne eşle
- Where
- Süzer
- Select
- Dönüştürür
- OrderBy
- Sıralar
- First
- İlk elemanı alır