Menyalin kode yang sama untuk setiap tipe data adalah resep kode duplikat. Generics memungkinkan satu definisi bekerja untuk banyak tipe dengan keamanan tipe penuh pada saat kompilasi. Section ini membahas generics dari dasar hingga fitur lanjutan seperti generic math dan variance.

# Generic Class

Pelajari cara mendefinisikan class dengan type parameter agar satu definisi dapat menyimpan dan mengolah tipe data apa pun dengan keamanan tipe penuh.

Buka →
# Generic Method

Pelajari cara mendeklarasikan method dengan type parameter sendiri sehingga satu method dapat bekerja untuk banyak tipe tanpa overload berulang.

Buka →
# Generic Interface

Pelajari cara mendefinisikan kontrak dengan type parameter dan mengimplementasikannya pada class generik maupun class biasa.

Buka →
# Generic Struct

Pelajari cara mendefinisikan struct dengan type parameter untuk pasangan data bernilai yang hemat memori tanpa alokasi heap tambahan.

Buka →
# Generic Constraints

Pelajari cara membatasi type parameter dengan klausa where agar badan kode generik dapat memakai kemampuan tertentu dari tipe yang diterimanya.

Buka →
# Type Parameter

Pelajari aturan scope dan konvensi penamaan type parameter, termasuk deklarasi dengan lebih dari satu type parameter.

Buka →
# Generic Type Inference

Pelajari cara compiler menyimpulkan type argument dari argumen pemanggilan, kapan inference berhasil, dan kapan kita wajib menulis type argument secara eksplisit.

Buka →
# Covariance dan Contravariance Generics

Pelajari kapan List turunan boleh dipakai sebagai kumpulan induk lewat kata kunci out dan in pada deklarasi interface dan delegate.

Buka →
# Generic Nullability

Pelajari makna tanda T? pada kode generik yang bergantung pada constraint, mulai dari Nullable<T> hingga nullable reference type.

Buka →
# Generic Math

Pelajari cara menulis algoritma hitung generik untuk semua tipe numerik dengan interface INumber<T> yang tersedia sejak .NET 7.

Buka →
# Static Abstract Interface Members

Pelajari cara mendeklarasikan anggota static abstract pada interface sehingga kode generik dapat memanggil anggota static lewat type parameter.

Buka →
# Generic Collections

Pelajari tur singkat koleksi generik inti .NET: List, Dictionary, dan IEnumerable sebagai fondasi pengelolaan data bertipe kuat.

Buka →
# Desain API Generik

Pelajari panduan merancang API generik yang nyaman dipakai, dari perbandingan dengan API berbasis object hingga daftar periksa desain.

Buka →