Pola is; pola relasional & logika (emulasi C# 6)
Emulasikan pola dasar dalam C# 6: pemeriksaan tipe dengan is, pemeriksaan rentang/relasional, dan komposisi logika melalui helper predikat kecil.
Pola is; pola relasional & logika (emulasi C# 6) adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.
Gagasan pola di C# 6
Tujuan: Menggunakan C# 6 untuk meniru pola-pola umum.
- Pola tipe: is + cast
- Relasional: fungsi pembantu pengaman (misalnya, >, <)
- Logis: menggabungkan predikat kecil (AND/OR/NOT)
Pola tipe melalui is + cast
Tirukan pola tipe dengan is serta cast eksplisit untuk “mengikat” variabel lokal.
using System;
public class Program
{
static string Describe(object x)
{
if (x is int)
{
int i = (int)x; // bind
return "int: " + i;
}
if (x is string)
{
string s = (string)x; // bind
return "string(len=" + (s == null ? 0 : s.Length) + ")";
}
return "other";
}
public static void Main(string[] args)
{
Console.WriteLine(Describe(5));
Console.WriteLine(Describe("hi"));
Console.WriteLine(Describe(3.14));
}
}
“Pola” relasional sebagai pengaman
Buat fungsi pembantu pengaman kecil untuk pemeriksaan relasional; fungsi tersebut terbaca seperti pola dan mudah digunakan ulang.
using System;
public class Program
{
static bool IsBetween(int x, int minInclusive, int maxExclusive)
{
return x >= minInclusive && x < maxExclusive;
}
public static void Main(string[] args)
{
int v1 = 10, v2 = -5, v3 = 100;
Console.WriteLine(IsBetween(v1, 0, 100)); // True
Console.WriteLine(IsBetween(v2, 0, 100)); // False
Console.WriteLine(IsBetween(v3, 0, 100)); // False
}
}
Komposisi logis pengaman
Gabungkan predikat kecil untuk meniru pola logis: AND, OR, NOT.
using System;
public class Program
{
static bool IsEven(int n) { return n % 2 == 0; }
static bool IsPositive(int n) { return n > 0; }
static bool And(Func<int,bool> a, Func<int,bool> b) { return a(4) && b(4); } // example composition (demo)
// For general composition:
static Func<int,bool> AND(Func<int,bool> a, Func<int,bool> b)
{
return delegate(int n) { return a(n) && b(n); };
}
static Func<int,bool> OR(Func<int,bool> a, Func<int,bool> b)
{
return delegate(int n) { return a(n) || b(n); };
}
static Func<int,bool> NOT(Func<int,bool> a)
{
return delegate(int n) { return !a(n); };
}
public static void Main(string[] args)
{
Func<int,bool> evenAndPositive = AND(IsEven, IsPositive);
Console.WriteLine(evenAndPositive(4)); // True
Console.WriteLine(evenAndPositive(-2)); // False
Console.WriteLine(NOT(IsEven)(3)); // True (3 is not even)
}
}
Emulasi kombinasi tipe+relasional
Ikat dengan is + cast, lalu terapkan kondisi pengaman—pengganti langsung untuk pola modern “tipe + relasional”.
using System;
public class Program
{
static string Check(object x)
{
if (x is int)
{
int i = (int)x; // bind
if (i > 0) return "positive int";
return "non-positive int";
}
return "not an int";
}
public static void Main(string[] args)
{
Console.WriteLine(Check(5)); // positive int
Console.WriteLine(Check(-3)); // non-positive int
Console.WriteLine(Check("hey")); // not an int
}
}
Kiat & batasan
Kiat:
- Beri nama fungsi pembantu pengaman dengan jelas (IsBetween, IsNonEmpty, dan sebagainya).
- Utamakan pemeriksaan murni; hindari efek samping.
- Jaga komposisi predikat tetap kecil agar mudah dibaca.
Batasan: Sintaks pola yang lebih baru memang lebih singkat, tetapi teknik C# 6 ini menyampaikan maksud yang sama.
Meniru pola tipe + relasional
Ringkasan
Ringkasan: Dalam C# 6, gabungkan is + cast untuk mengikat nilai, gunakan pengaman kecil untuk pemeriksaan relasional, dan susun predikat untuk pola logis.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pola is; pola relasional & logika (emulasi C# 6)” gratis?
Ya — teks lengkap “Pola is; pola relasional & logika (emulasi C# 6)” 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 “Pola is; pola relasional & logika (emulasi C# 6)”?
Emulasikan pola dasar dalam C# 6: pemeriksaan tipe dengan is, pemeriksaan rentang/relasional, dan komposisi logika melalui helper predikat kecil. 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 1 dari 3.
Berapa lama pelajaran “Pola is; pola relasional & logika (emulasi C# 6)” 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
- Pola is; pola relasional & logika (emulasi C# 6)
- Ekspresi switch; pemeriksaan menyeluruh dengan when (emulasi C# 6)
- Pemodelan domain dengan union terdiskriminasi (record) — emulasi C# 6