Pratinjau LINQ: Where, Select, OrderBy, Take/Skip; eksekusi tertunda
Bangun alur LINQ kecil pada IEnumerable : saring dengan Where, ubah dengan Select, urutkan dengan OrderBy, dan pelajari eksekusi tertunda vs materialisasi.
Pratinjau LINQ: Where, Select, OrderBy, Take/Skip; eksekusi tertunda adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C# Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C# Academy mencakup 3 pelajaran total.
Ikhtisar LINQ
Tujuan: Gunakan alur LINQ yang kecil untuk menyaring, mengubah, dan mengurutkan data.
- Where (menyaring)
- Select (memetakan)
- OrderBy, Take/Skip
- Eksekusi tertunda dan materialisasi
Where + Select
Rangkaikan Where (menyaring), lalu Select (mengubah). Bacalah dari kiri ke kanan.
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 + Take
Urutkan dengan OrderBy dan ThenBy, lalu batasi dengan Take.
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
}
}
}
Proyeksi (tipe anonim)
Select dapat membuat objek anonim untuk mengubah bentuk data dengan cepat, misalnya Word dan 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 + ")");
}
}
}
Eksekusi tertunda
Tertunda: Kueri dijalankan saat Anda melakukan iterasi. Perubahan pada sumber sebelum enumerasi akan memengaruhi hasil.
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
}
}
}
Materialisasi dan sintaks
Gunakan ToList/ToArray untuk menjalankan dan menyimpan hasil. Sintaks kueri adalah cara lain untuk menulis alur yang sama.
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
}
}
Makna eksekusi tertunda
Ringkasan
Ringkasan: Bangun alur dengan Where, Select, OrderBy, dan Take/Skip. LINQ bersifat tertunda—materialisasikan dengan ToList/ToArray saat Anda memerlukan hasil yang stabil.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pratinjau LINQ: Where, Select, OrderBy, Take/Skip; eksekusi tertunda” gratis?
Ya — teks lengkap “Pratinjau LINQ: Where, Select, OrderBy, Take/Skip; eksekusi tertunda” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C# Academy, upgrade ke CoddyKit PRO. Kursus C# Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Pratinjau LINQ: Where, Select, OrderBy, Take/Skip; eksekusi tertunda”?
Bangun alur LINQ kecil pada IEnumerable : saring dengan Where, ubah dengan Select, urutkan dengan OrderBy, dan pelajari eksekusi tertunda vs materialisasi. Kamu berlatih C# Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai C# Academy?
Tidak diperlukan pengalaman sebelumnya. C# Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 3.
Berapa lama pelajaran “Pratinjau LINQ: Where, Select, OrderBy, Take/Skip; eksekusi tertunda” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran C# Academy ini?
Ya. Setiap pelajaran C# Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Array, pengirisan, List , Dictionary
- Pola foreach; penginisialisasi koleksi
- Pratinjau LINQ: Where, Select, OrderBy, Take/Skip; eksekusi tertunda