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.
Pelajari cara mendefinisikan class dengan type parameter agar satu definisi dapat menyimpan dan mengolah tipe data apa pun dengan keamanan tipe penuh.
Buka → # Generic MethodPelajari cara mendeklarasikan method dengan type parameter sendiri sehingga satu method dapat bekerja untuk banyak tipe tanpa overload berulang.
Buka → # Generic InterfacePelajari cara mendefinisikan kontrak dengan type parameter dan mengimplementasikannya pada class generik maupun class biasa.
Buka → # Generic StructPelajari cara mendefinisikan struct dengan type parameter untuk pasangan data bernilai yang hemat memori tanpa alokasi heap tambahan.
Buka → # Generic ConstraintsPelajari cara membatasi type parameter dengan klausa where agar badan kode generik dapat memakai kemampuan tertentu dari tipe yang diterimanya.
Buka → # Type ParameterPelajari aturan scope dan konvensi penamaan type parameter, termasuk deklarasi dengan lebih dari satu type parameter.
Buka → # Generic Type InferencePelajari cara compiler menyimpulkan type argument dari argumen pemanggilan, kapan inference berhasil, dan kapan kita wajib menulis type argument secara eksplisit.
Buka → # Covariance dan Contravariance GenericsPelajari kapan List turunan boleh dipakai sebagai kumpulan induk lewat kata kunci out dan in pada deklarasi interface dan delegate.
Buka → # Generic NullabilityPelajari makna tanda T? pada kode generik yang bergantung pada constraint, mulai dari Nullable<T> hingga nullable reference type.
Buka → # Generic MathPelajari cara menulis algoritma hitung generik untuk semua tipe numerik dengan interface INumber<T> yang tersedia sejak .NET 7.
Buka → # Static Abstract Interface MembersPelajari cara mendeklarasikan anggota static abstract pada interface sehingga kode generik dapat memanggil anggota static lewat type parameter.
Buka → # Generic CollectionsPelajari tur singkat koleksi generik inti .NET: List, Dictionary, dan IEnumerable sebagai fondasi pengelolaan data bertipe kuat.
Buka → # Desain API GenerikPelajari panduan merancang API generik yang nyaman dipakai, dari perbandingan dengan API berbasis object hingga daftar periksa desain.
Buka →