CodeBlanks Logo Icon CodeBlanks

Select

C# kursu · Orta seviye · Ders 90/116

Select ile her elemanı dönüştürmeyi öğrenirsin.

Select ile dönüştürme

Select metodu, koleksiyonun her elemanını dönüştürür. Bir lambda alır ve her eleman için yeni bir değer üretir. Sonuç, dönüştürülmüş elemanlardan oluşan yeni bir koleksiyondur; orijinal değişmez.

Örnek: numbers.Select(n => n * n) her sayının karesini alır. words.Select(w => w.ToUpper()) her sözcüğü büyütür. Select, map işleminin C#'taki karşılığıdır ve veriyi başka bir biçime çevirmek için kullanılır.

Where ve Select zinciri

LINQ metotlarını zincirleyebilirsin: bir metodun sonucuna öbürünü uygularsın. Sıra önemlidir: önce Where ile süzersin, sonra Select ile dönüştürürsün. numbers.Where(n => n > 2).Select(n => n * 10) önce 2'den büyük sayıları tutar, sonra onları 10'la çarpar.

Zincir, okunaklı bir akış kurar. Her metodun sonucu bir IEnumerable<T>'dir; bir sonraki metot buna uygulanır. Sonunu .ToList() ya da foreach ile bitirirsin.

Uygulama Kareleri hesapla ve yazdır

numbers dizisindeki her sayının karesini Select ile hesapla ve foreach ile yazdır. Kare: n * n.

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

class Program
{
    static void Main()
    {
        int[] numbers = { 2, 3, 4 };
        foreach (var s in numbers.Select(n => n * n))
        {
            Console.WriteLine(s);
        }
    }
}

Kendini test et

  1. Select'i sonucuna eşle

    Select(n => n * 2)
    İki katı
    Select(n => n * n)
    Karesi
    Select(w => w.ToUpper())
    BÜYÜK HARF
    Select(s => s.Length)
    Uzunluk
  2. Select gövdesini tamamla

    var squares = numbers.Select(n => n ____ n);
    Cevabı göster
    var squares = numbers.Select(n => n * n);
  3. Select ne döndürür?

    var r = words.Select(w => w.Length);
    • IEnumerable<int>
    • IEnumerable<string>
    • int
    • string
    Cevabı göster

    IEnumerable<int> — Doğru. Select, lambda dönüş türüne göre yeni bir koleksiyon üretir; Length int olduğu için IEnumerable<int> döner.

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