CodeBlanks Logo Icon CodeBlanks

Özet - LINQ temelleri

C# kursu · Orta seviye · Ders 93/116

Where, Select ve OrderBy'ı birleştirerek bir öğrenci raporu yazarsın.

Özet - LINQ temelleri

Bu grupta LINQ'nün temel metotlarını öğrendin: Where süzer, Select dönüştürür, OrderBy sıralar, First ilk elemanı alır. Bunları zincirleyerek tek bir akış kurabilirsin.

Son derste bir öğrenci raporu yazacaksın: öğrencileri süz, sırala ve isimlerini dönüştür. Bu, gerçek uygulamalarda veriyi hazırlamanın tipik bir akışıdır: ham veri gider, işlenmiş rapor çıkar.

Uygulama Öğrenci raporu yaz

students listesinde notu 50'den büyük olanları Where ile süz, OrderBy ile nota göre artan sırala, Select ile yalnızca adlarını al ve foreach ile yazdır.

Örnek çözümü göster
students.Where(s => s.Grade > 50).OrderBy(s => s.Grade).Select(s => s.Name) zincirini kur, foreach ile gez ve Console.WriteLine(name) ile yazdır.
Örnek çözüm:
using System;
using System.Collections.Generic;
using System.Linq;

class Student
{
    public string Name { get; set; }
    public int Grade { get; set; }
}

class Program
{
    static void Main()
    {
        var students = new List<Student>
        {
            new Student { Name = "Ayşe", Grade = 45 },
            new Student { Name = "Mehmet", Grade = 78 },
            new Student { Name = "Zeynep", Grade = 62 }
        };
        foreach (var name in students.Where(s => s.Grade > 50).OrderBy(s => s.Grade).Select(s => s.Name))
        {
            Console.WriteLine(name);
        }
    }
}

Uygulama En yüksek notlu öğrenci

Aşağıdaki students listesinde notu 50'den büyük olanları süz, OrderByDescending ile azan sırala ve First ile en yüksek notluyu al; adını Console.WriteLine ile yazdır.

Örnek çözümü göster
students.Where(s => s.Grade > 50).OrderByDescending(s => s.Grade).First() zincirini kur, .Name ile adını al ve yazdır.
Örnek çözüm:
using System;
using System.Collections.Generic;
using System.Linq;

class Student
{
    public string Name { get; set; }
    public int Grade { get; set; }
}

class Program
{
    static void Main()
    {
        var students = new List<Student>
        {
            new Student { Name = "Ayşe", Grade = 45 },
            new Student { Name = "Mehmet", Grade = 78 },
            new Student { Name = "Zeynep", Grade = 62 }
        };
        var top = students.Where(s => s.Grade > 50).OrderByDescending(s => s.Grade).First();
        Console.WriteLine(top.Name);
    }
}

Kendini test et

  1. Hangi sıra doğru?

    • Select → Where → OrderBy
    • OrderBy → First → Select
    • Where → OrderBy → Select
    • First → Where → OrderBy
    Cevabı göster

    Where → OrderBy → Select — Doğru. Önce süz (Where), sonra sırala (OrderBy), en son dönüştür (Select). Bu sıra verimli ve okunaktır.

  2. Metodu amacına eşle

    Where
    Süzme
    Select
    Dönüştürme
    OrderBy
    Sıralama
    First
    İlk eleman

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