0Pricing
C# Academy · Pelajaran

Sintaks kueri vs sintaks metode

Tulis LINQ yang sama dengan sintaks kueri atau sintaks metode; lihat terjemahan kompiler dan kapan setiap gaya sebaiknya dipilih.

Sintaks kueri vs sintaks metode 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.

Dua sintaks

Dua bentuk LINQ:

  • Sintaks metode: xs.Where(...).Select(...)
  • Sintaks kueri: from x in xs where ... select ...
  • Keduanya setara untuk sebagian besar operator.

Sintaks metode

Sintaks metode merangkai metode ekstensi seperti Where dan Select.

using System;
using System.Linq;

public class Program
{
  public static void Main(string[] args)
  {
    string[] words = new string[] { "dog", "tiger", "ant", "eagle" };

    var result = words
      .Where(w => w.Length >= 4)
      .Select(w => w.ToUpper());

    foreach (string w in result) Console.WriteLine(w);
  }
}

Sintaks kueri

Sintaks kueri dibaca seperti SQL: from, where, select. Kompiler mengubahnya menjadi pemanggilan metode.

using System;
using System.Linq;

public class Program
{
  public static void Main(string[] args)
  {
    string[] words = new string[] { "dog", "tiger", "ant", "eagle" };

    var query =
      from w in words
      where w.Length >= 4
      select w.ToUpper();

    foreach (string w in query) Console.WriteLine(w);
  }
}

Pengurutan dengan kedua cara

Kedua gaya mendukung penyaringan, pengurutan, dan pemilihan. Keduanya menghasilkan hasil yang sama.

using System;
using System.Linq;

public sealed class City
{
  public string Name;
  public int Pop;
  public City(string name, int pop) { Name = name; Pop = pop; }
}

public class Program
{
  public static void Main(string[] args)
  {
    City[] cities = new City[]
    {
      new City("Rome", 2873000),
      new City("Oslo", 634000),
      new City("Riga", 605000),
      new City("Rio", 6748000)
    };

    // Method
    var m = cities
      .Where(c => c.Pop >= 700000)
      .OrderBy(c => c.Name)
      .Select(c => c.Name);

    // Query
    var q =
      from c in cities
      where c.Pop >= 700000
      orderby c.Name ascending
      select c.Name;

    foreach (string name in m) Console.WriteLine(name);
    Console.WriteLine("---");
    foreach (string name in q) Console.WriteLine(name);
  }
}

Menggabungkan gaya

Tidak semua operator memiliki kata kunci kueri. Umumnya Anda dapat menggabungkan gaya: tulis kueri lalu panggil Count, Skip, Take, atau ThenBy.

using System;
using System.Linq;

public class Program
{
  public static void Main(string[] args)
  {
    int[] data = new int[] { 5, 3, 9, 1, 7, 2, 8 };

    // Query + method mix: query part, then Count() method
    var q =
      from n in data
      where n > 3
      select n;

    int howMany = q.Count(); // no query keyword for Count
    Console.WriteLine("Count >3 = " + howMany);

    // Paging usually uses method syntax
    var page = data.OrderBy(n => n).Skip(2).Take(3);
    foreach (int x in page) Console.WriteLine(x);
  }
}

Kapan menggunakan masing-masing

Panduan:

  • Gunakan sintaks metode untuk rangkaian singkat dan saat operator tidak memiliki kata kunci kueri.
  • Gunakan sintaks kueri saat sintaks tersebut lebih mudah dibaca untuk penyaringan/pengurutan dalam beberapa langkah.
  • Gabungkan jika diperlukan; keduanya setara.

Fakta tentang kueri vs metode

Pemeriksaan singkat: Pernyataan mana yang benar tentang sintaks kueri LINQ dibandingkan dengan sintaks metode?

Ringkasan

Ringkasan: Sintaks kueri dan metode adalah dua cara melihat LINQ yang sama. Pilih gaya yang paling mudah dibaca dan gabungkan keduanya saat operator tidak memiliki kata kunci kueri.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Sintaks kueri vs sintaks metode” gratis?

Ya — teks lengkap “Sintaks kueri vs sintaks metode” 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 “Sintaks kueri vs sintaks metode”?

Tulis LINQ yang sama dengan sintaks kueri atau sintaks metode; lihat terjemahan kompiler dan kapan setiap gaya sebaiknya dipilih. 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 “Sintaks kueri vs sintaks metode” 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

  1. Alur IEnumerable ; eksekusi tertunda
  2. Select, Where, OrderBy, Take/Skip
  3. Sintaks kueri vs sintaks metode
← Kembali ke C# Academy