0Pricing
C# Academy · Pelajaran

Pola Relasional dan Logis

Gabungkan kondisi dalam pola.

Pola Relasional dan Logis adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. 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 4 pelajaran total.

Pola Relasional

Pola relasional membandingkan masukan dengan konstanta menggunakan <, >, <=, atau >=. Pola ini cocok jika perbandingannya bernilai benar.

Diperkenalkan dalam C# 9, pola relasional membuat pemeriksaan rentang menjadi ringkas di dalam cabang pemilihan dan ekspresi is, tanpa perlu menulis perbandingan secara eksplisit.

int temp = 18;
string level = temp switch
{
    < 0  => "freezing",
    < 15 => "cold",
    < 25 => "mild",
    _    => "hot"
};
System.Console.WriteLine(level);

Pola Relasional dengan Pemeriksaan Tipe

Pola relasional juga dapat digunakan dalam ekspresi is, sehingga menghasilkan pemeriksaan logika yang mudah dibaca.

n is > 0 hampir terbaca seperti bahasa sehari-hari dan menghasilkan nilai boolean yang dapat Anda gunakan dalam kondisi, penetapan nilai, atau predikat LINQ.

using System;

class Program {
    static void Main() {
        int score = 82;
        bool passed = score is >= 60;
        Console.WriteLine(passed);
    }
}

Pola Logika Dan

Pola logika and mengharuskan kedua subpola cocok. Pola ini sangat sesuai untuk rentang yang dibatasi.

>= 1 and <= 12 mencocokkan nilai dalam rentang inklusif. Tanpa and, menyatakan batas bawah dan atas dalam satu pola tidaklah mungkin.

int month = 6;
bool valid = month is >= 1 and <= 12;
System.Console.WriteLine(valid);

Pola Logika Atau

Pola logika or cocok jika salah satu subpola cocok. Pola ini mengelompokkan beberapa nilai alternatif ke dalam satu cabang.

Daripada mengulangi cabang untuk kasus yang berkaitan, 'a' or 'e' or 'i' menggabungkannya. Hal ini menjaga ekspresi pemilihan tetap ringkas dan memperjelas maksudnya.

char c = 'e';
string kind = c switch
{
    'a' or 'e' or 'i' or 'o' or 'u' => "vowel",
    _ => "consonant"
};
System.Console.WriteLine(kind);

Pola Negasi

Pola logika not cocok jika subpolanya tidak cocok. Penggunaan yang paling umum adalah not null.

Pola ini juga menegasikan pola lain, seperti not 0 atau not (> 100), sehingga Anda dapat menyatakan pengecualian dengan jelas di dalam satu cabang.

object? value = "hi";
if (value is not null)
    System.Console.WriteLine("present");

Menggabungkan Pola Logika

Pola logika dapat digabungkan. Anda dapat merangkai and, or, dan not untuk membangun kondisi yang kaya, dengan menggunakan tanda kurung untuk mengatur prioritas.

Prioritasnya adalah: not memiliki prioritas tertinggi, disusul and, lalu or. Tambahkan tanda kurung kapan pun maksudnya mungkin ambigu.

using System;

class Program {
    static string Classify(int n) => n switch {
        < 0 or > 100 => "out of range",
        >= 0 and <= 50 => "low half",
        _ => "high half"
    };
    static void Main() => Console.WriteLine(Classify(75));
}

Rentang dalam Penilaian

Pola relasional dan logika secara bersama-sama dapat memodelkan tabel penilaian klasik dengan rapi.

Karena cabang diperiksa dari atas ke bawah, Anda dapat menggunakan batas atas sederhana atau menggabungkan batas dengan and untuk menyatakan rentang secara eksplisit. Keduanya valid; pilih gaya yang lebih jelas.

using System;

class Program {
    static char Grade(int s) => s switch {
        >= 90 => 'A',
        >= 80 and < 90 => 'B',
        >= 70 and < 80 => 'C',
        _ => 'F'
    };
    static void Main() => Console.WriteLine(Grade(85));
}

Pemeriksaan Nilai Tidak Kosong dengan Pola Properti

Menggabungkan not null dengan pola tipe dan properti menghasilkan penjaga yang aman dan ekspresif.

obj is Person { Name: not null } p cocok dengan Person yang tidak kosong dan Name-nya juga tidak kosong, lalu mengikatnya. Hal ini menghindari pemeriksaan nilai kosong yang berantai.

record Person(string? Name);

object obj = new Person("Kai");
if (obj is Person { Name: not null } p)
    System.Console.WriteLine(p.Name);

Menegasikan Rentang

Anda dapat menegasikan sekelompok relasi dengan not dan tanda kurung untuk menyatakan pengecualian.

not (>= 1 and <= 5) cocok dengan apa pun di luar rentang 1 hingga 5. Bagi sebagian pembaca, ini lebih langsung daripada bentuk setara < 1 or > 5.

using System;

class Program {
    static void Main() {
        int n = 9;
        bool outside = n is not (>= 1 and <= 5);
        Console.WriteLine(outside);
    }
}

Menggabungkan dengan Pola Tipe

Pola logika juga dapat digabungkan dengan pola tipe. o is int or long mencocokkan tipe numerik bilangan bulat dalam satu pemeriksaan.

Hal ini berguna untuk memperlakukan beberapa tipe yang berkaitan secara seragam. Perhatikan bahwa kedua sisi or harus kompatibel dengan cara hasilnya digunakan.

object o = 5L;
string kind = o switch
{
    int or long => "integral",
    float or double => "floating",
    _ => "other"
};
System.Console.WriteLine(kind);

Pedoman Keterbacaan

Pola logis bersifat ekspresif, tetapi dapat menjadi padat. Buat cabang tetap singkat, utamakan rentang dengan and, dan gunakan tanda kurung pada gabungan and/or agar lebih jelas.

Jika suatu kondisi memerlukan banyak klausa atau variabel eksternal, penjaga when mungkin lebih mudah dibaca daripada pola logis yang panjang. Pilihlah yang paling baik menyampaikan maksud.

int n = 42;
string r = n switch
{
    > 0 and < 10 when n % 2 == 0 => "small even",
    _ => "other"
};
System.Console.WriteLine(r);

Uji Singkat

Uji pemahaman Anda tentang pola relasional dan logis.

Rangkuman

Pola relasional (< > <= >=) membandingkan nilai dengan konstanta. Pola logis menggabungkan subpola menggunakan and, or, dan not.

Prioritasnya adalah not, lalu and, kemudian or; gunakan tanda kurung saat mencampurnya. Selanjutnya, kita akan membahas pola daftar dan tupel.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pola Relasional dan Logis” gratis?

Ya — teks lengkap “Pola Relasional dan Logis” 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 4 pelajaran total.

Apa yang akan aku pelajari di “Pola Relasional dan Logis”?

Gabungkan kondisi dalam pola. 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 4.

Berapa lama pelajaran “Pola Relasional dan Logis” 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. Ekspresi switch
  2. Pola Tipe dan Properti
  3. Pola Relasional dan Logis
  4. Pola List dan Tuple
← Kembali ke C# Academy