LINQ önizlemesi: Where, Select, OrderBy, Take/Skip; ertelenmiş yürütme
IEnumerable üzerinde küçük LINQ işlem hatları oluşturun: Where ile süzün, Select ile dönüştürün, OrderBy ile sıralayın ve ertelenmiş yürütme ile somutlaştırma arasındaki farkı öğrenin.
LINQ önizlemesi: Where, Select, OrderBy, Take/Skip; ertelenmiş yürütme, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 3 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 3 dersten oluşur.
LINQ genel bakışı
Amaç: Verileri filtrelemek, dönüştürmek ve sıralamak için küçük LINQ işlem zincirleri kullanın.
- Where (filtreleme)
- Select (eşleme)
- OrderBy, Take/Skip
- Ertelenmiş yürütme ve sonuçları somutlaştırma
Where ve Select
Önce Where (filtreleme), ardından Select (dönüştürme) zincirini kurun. Soldan sağa okuyun.
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
int[] data = new int[] { 1, 2, 3, 4, 5, 6 };
// Filter even numbers, then square them
var query = data.Where(x => x % 2 == 0)
.Select(x => x * x);
foreach (int n in query)
{
Console.WriteLine(n); // 4, 16, 36
}
}
}
OrderBy ve Take
OrderBy (ve ThenBy) ile sıralayın, Take ile sınırlandırın.
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
string[] names = new string[] { "Zoe", "Ada", "Alan", "Bob" };
var top2 = names.OrderBy(s => s.Length) // shortest first
.ThenBy(s => s) // tie-breaker
.Take(2);
foreach (string s in top2)
{
Console.WriteLine(s); // Ada, Bob
}
}
}
Yansıtma (anonim tür)
Select, şekli hızlıca değiştirmek için anonim nesneler oluşturabilir (Word, Length).
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
string[] words = new string[] { "map", "filter", "reduce" };
var info = words.Select(w => new { Word = w, Length = w.Length });
foreach (var x in info)
{
Console.WriteLine(x.Word + " (" + x.Length + ")");
}
}
}
Ertelenmiş yürütme
Ertelenmiş: Sorgu, yineleme yaptığınızda çalışır. Numaralandırmadan önce kaynakta yapılan değişiklikler sonuçları etkiler.
using System;
using System.Linq;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
List<int> numbers = new List<int> { 1, 2, 3 };
var q = numbers.Where(x => x > 1); // not executed yet
numbers.Add(4); // modify source before enumeration
foreach (int x in q) // executes here
{
Console.WriteLine(x); // 2, 3, 4
}
}
}
Sonuçları somutlaştırma ve söz dizimi
Sonuçları yürütüp depolamak için ToList/ToArray kullanın. Sorgu söz dizimi, aynı işlem zincirini yazmanın başka bir yoludur.
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
int[] data = new int[] { 3, 1, 2 };
// Method syntax + materialize
var sorted = data.OrderBy(x => x).ToList(); // executes now
data[0] = 100; // will not affect 'sorted' (already materialized)
foreach (int n in sorted) { Console.WriteLine(n); } // 1,2,3
// Query syntax (equivalent)
var query =
from x in data
where x < 50
select x * 2;
foreach (int n in query) { Console.WriteLine(n); } // 2,4
}
}
Ertelenmiş yürütme ne anlama gelir
Özet
Özet: Where, Select, OrderBy ve Take/Skip ile işlem zincirleri oluşturun. LINQ ertelenmiştir; kararlı sonuçlara ihtiyaç duyduğunuzda ToList/ToArray ile sonuçları somutlaştırın.
Sıkça Sorulan Sorular
“LINQ önizlemesi: Where, Select, OrderBy, Take/Skip; ertelenmiş yürütme” dersi ücretsiz mi?
Evet — “LINQ önizlemesi: Where, Select, OrderBy, Take/Skip; ertelenmiş yürütme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 3 dersten oluşur.
“LINQ önizlemesi: Where, Select, OrderBy, Take/Skip; ertelenmiş yürütme” dersinde ne öğreneceğim?
IEnumerable üzerinde küçük LINQ işlem hatları oluşturun: Where ile süzün, Select ile dönüştürün, OrderBy ile sıralayın ve ertelenmiş yürütme ile somutlaştırma arasındaki farkı öğrenin. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C# Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 3. dersidir.
“LINQ önizlemesi: Where, Select, OrderBy, Take/Skip; ertelenmiş yürütme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Diziler, dilimleme, List , Dictionary
- foreach kalıpları ve koleksiyon başlatıcıları
- LINQ önizlemesi: Where, Select, OrderBy, Take/Skip; ertelenmiş yürütme