C# Academy · Pelajaran

Generik dalam C#

Pelajari cara generik memungkinkan struktur kode yang aman terhadap tipe dan dapat digunakan kembali

Pelajaran 1 dari 510 langkah

Generik dalam C# adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.

Pengantar Generik

Generik di C#

Selamat datang di pelajaran pertama dalam "Fitur C# Lanjutan"! Dalam pelajaran ini, Anda akan mempelajari generik, fitur canggih di C# yang memungkinkan Anda membuat kode yang fleksibel dan dapat digunakan kembali. Mari mulai!

Generik dalam C# — ilustrasi 1

Apa Itu Generik?

Generik adalah fitur di C# yang memungkinkan Anda mendefinisikan kelas, metode, dan struktur data dengan penampung untuk jenis data yang disimpan atau digunakan. Generik mendukung keamanan tipe dan penggunaan ulang kode.

Contoh: Daftar generik (List<T>) dapat menyimpan elemen dari jenis apa pun sekaligus memastikan keamanan tipe.

Membuat Kelas Generik

Anda dapat mendefinisikan kelas generik menggunakan sintaks <T>, dengan T yang mewakili parameter tipe. Contoh:

Poin Utama: Gunakan generik untuk membuat kelas yang dapat bekerja dengan jenis data apa pun sekaligus mempertahankan keamanan tipe.

using System;

class GenericBox<T> {
    public T Value { get; set; }

    public void Display() {
        Console.WriteLine("Value: " + Value);
    }
}

class Program {
    static void Main() {
        GenericBox<int> intBox = new GenericBox<int> { Value = 42 };
        intBox.Display(); // Outputs: Value: 42

        GenericBox<string> stringBox = new GenericBox<string> { Value = "Hello, Generics!" };
        stringBox.Display(); // Outputs: Value: Hello, Generics!
    }
}

Membuat Metode Generik

Anda dapat mendefinisikan metode generik di dalam kelas. Contoh:

Tips: Gunakan metode generik untuk operasi yang berlaku pada berbagai jenis data.

using System;

class Program {
    static void Main() {
        PrintValue(42);
        PrintValue("Generics are powerful!");
    }

    static void PrintValue<T>(T value) {
        Console.WriteLine("Value: " + value);
    }
}

Batasan Generik

Batasan membatasi jenis yang dapat digunakan sebagai parameter tipe. Contoh:

  • where T : struct - T harus berupa tipe nilai.
  • where T : class - T harus berupa tipe referensi.
  • where T : new() - T harus memiliki konstruktor tanpa parameter.

Contoh:

Poin Utama: Batasan membuat generik lebih fleksibel dan dapat diterapkan pada situasi tertentu.

using System;

class Program {
    static void Main() {
        DisplayDefault<int>();
        DisplayDefault<string>();
    }

    static void DisplayDefault<T>() where T : new() {
        T instance = new T();
        Console.WriteLine("Created instance of: " + typeof(T));
    }
}

Koleksi Generik

C# menyediakan beberapa koleksi generik bawaan:

  • List<T>: Menyimpan kumpulan elemen dalam larik dinamis.
  • Dictionary<TKey, TValue>: Menyimpan pasangan kunci-nilai untuk pencarian cepat.
  • Queue<T>: Menerapkan struktur Masuk Pertama, Keluar Pertama (FIFO).

Contoh: Menggunakan daftar generik:

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
        names.Add("Diana");

        foreach (string name in names) {
            Console.WriteLine(name);
        }
    }
}

Tantangan Latihan

Buat kelas generik Pair<TKey, TValue> yang menyimpan pasangan kunci-nilai dan metode generik Swap() yang menukar kunci dan nilai. Contoh:

using System;

class Pair<TKey, TValue> {
    public TKey Key { get; set; }
    public TValue Value { get; set; }

    public void Swap() {
        (Key, Value) = ((TKey)(object)Value, (TValue)(object)Key);
    }

    public void Display() {
        Console.WriteLine($"Key: {Key}, Value: {Value}");
    }
}

class Program {
    static void Main() {
        Pair<string, int> pair = new Pair<string, int> { Key = "Age", Value = 30 };
        pair.Display();
        pair.Swap();
        pair.Display();
    }
}

Praktik Terbaik dalam Menggunakan Generik

Berikut beberapa praktik terbaik:

  • Gunakan generik untuk membuat kelas dan metode yang dapat digunakan kembali serta aman terhadap tipe.
  • Terapkan batasan saat diperlukan persyaratan jenis tertentu.
  • Utamakan koleksi generik daripada koleksi non-generik demi kinerja dan keamanan.

Tips: Gunakan nama parameter tipe yang bermakna, seperti T untuk tipe atau TKey dan TValue untuk pasangan kunci-nilai.

Kerja bagus!

Selamat! Anda telah mempelajari cara menggunakan generik untuk membuat kode C# yang dapat digunakan kembali dan fleksibel. Pada pelajaran berikutnya, kita akan menjelajahi pemrograman asinkron dengan async dan await. Mari terus menulis kode!

Generik dalam C# — ilustrasi 10
Gratis untuk memulai

Belajar C# dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
93
Pelajaran
346

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Generik dalam C#” gratis?

Ya — teks lengkap “Generik dalam C#” 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 “Generik dalam C#”?

Pelajari cara generik memungkinkan struktur kode yang aman terhadap tipe dan dapat digunakan kembali 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 5.

Berapa lama pelajaran “Generik dalam C#” 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