0Pricing
C# Academy · Pelajaran

Menjelajahi Delegasi dan Lambda

Pahami delegasi dan ekspresi lambda untuk kode yang ringkas dan fleksibel

Menjelajahi Delegasi dan Lambda adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 5. 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 5 pelajaran total.

Menggunakan Lambda dengan Delegasi

Menggunakan Lambda dengan Delegasi

Lambda dapat ditetapkan langsung ke delegasi. Contoh:

Menjelajahi Delegasi dan Lambda — ilustrasi 1

Apa Itu Delegasi

Apa Itu Delegasi?

delegate adalah tipe yang menyimpan referensi ke metode dengan tanda tangan tertentu. Delegasi memungkinkan metode diteruskan sebagai parameter atau ditetapkan secara dinamis.

Contoh: Delegasi sering digunakan untuk panggilan balik dan penanganan peristiwa.

Mendefinisikan dan Menggunakan Delegasi

Mendefinisikan dan Menggunakan Delegasi

Anda dapat mendefinisikan delegasi menggunakan kata kunci delegate. Contoh:

Poin Utama: Delegasi menyediakan cara untuk merangkum metode.

using System;

class Program {
    // Define a delegate
    public delegate void PrintDelegate(string message);

    static void Main() {
        PrintDelegate print = PrintMessage; // Assign method to delegate
        print("Hello, Delegates!"); // Call the method via the delegate
    }

    static void PrintMessage(string message) {
        Console.WriteLine(message);
    }
}

Apa Itu Ekspresi Lambda

Apa Itu Ekspresi Lambda?

Ekspresi lambda adalah cara ringkas untuk merepresentasikan metode anonim dalam C#. Ekspresi ini menggunakan sintaks (parameters) => expression.

Contoh: (x, y) => x + y merepresentasikan metode yang menjumlahkan dua angka.

Kiat: Lambda sering digunakan dengan LINQ dan delegasi agar kode lebih ringkas dan jelas.

Ekspresi Lambda dengan Delegasi

Menggunakan Lambda dengan Delegasi

Lambda dapat ditetapkan langsung ke delegasi. Contoh:

Poin Utama: Lambda membuat kode Anda lebih ringkas dan mudah dibaca.

using System;

class Program {
    public delegate int MathOperation(int x, int y);

    static void Main() {
        MathOperation add = (x, y) => x + y; // Lambda for addition
        Console.WriteLine("Result: " + add(10, 20)); // Outputs: Result: 30
    }
}

Delegasi Multisiar

Delegasi Multisiar

Satu delegasi dapat merujuk ke beberapa metode. Semua metode dipanggil secara berurutan. Contoh:

using System;

class Program {
    public delegate void Notify(string message);

    static void Main() {
        Notify notify = PrintMessage;
        notify += LogMessage;

        notify("Hello, Multicast Delegates!"); // Calls both methods
    }

    static void PrintMessage(string message) {
        Console.WriteLine("Print: " + message);
    }

    static void LogMessage(string message) {
        Console.WriteLine("Log: " + message);
    }
}

Tantangan Latihan

Tantangan Latihan

Buat program yang menggunakan delegasi StringOperation untuk melakukan manipulasi teks seperti mengubahnya menjadi huruf besar dan membalik teks. Contoh:

using System;

class Program {
    public delegate string StringOperation(string input);

    static void Main() {
        StringOperation operations = ToUpperCase;
        operations += ReverseString;

        string input = "Hello";
        foreach (var operation in operations.GetInvocationList()) {
            Console.WriteLine(((StringOperation)operation)(input));
        }
    }

    static string ToUpperCase(string input) {
        return input.ToUpper();
    }

    static string ReverseString(string input) {
        char[] chars = input.ToCharArray();
        Array.Reverse(chars);
        return new string(chars);
    }
}

Praktik Terbaik untuk Delegasi dan Lambda

Praktik Terbaik untuk Delegasi dan Lambda

Berikut beberapa praktik terbaik:

  • Gunakan delegasi untuk menerapkan panggilan balik dan penanganan peristiwa.
  • Utamakan ekspresi lambda untuk kode yang ringkas dan jelas.
  • Gabungkan lambda dengan LINQ untuk pemrosesan data yang efisien.
  • Hindari lambda yang terlalu rumit agar kode tetap mudah dibaca.

Kiat: Gunakan nama parameter yang bermakna dalam lambda untuk meningkatkan kejelasan kode.

Kerja bagus!

Kerja bagus!

Selamat! Anda telah mempelajari cara menggunakan delegasi dan ekspresi lambda untuk menulis kode fungsional dan berbasis peristiwa dalam C#. Pada pelajaran berikutnya, kita akan menjelajahi refleksi dalam C#, sebuah fitur canggih untuk analisis tipe saat program berjalan. Mari terus menulis kode!

Menjelajahi Delegasi dan Lambda — ilustrasi 10

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menjelajahi Delegasi dan Lambda” gratis?

Ya — teks lengkap “Menjelajahi Delegasi dan Lambda” 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 5 pelajaran total.

Apa yang akan aku pelajari di “Menjelajahi Delegasi dan Lambda”?

Pahami delegasi dan ekspresi lambda untuk kode yang ringkas dan fleksibel 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 4 dari 5.

Berapa lama pelajaran “Menjelajahi Delegasi dan Lambda” 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. Generik dalam C#
  2. Async dan Await: Bekerja dengan Kode Asinkron
  3. Memahami Threading dan Tugas
  4. Menjelajahi Delegasi dan Lambda
  5. Memahami Refleksi dalam C#
← Kembali ke C# Academy