C# terus berkembang dengan fitur tipe yang melayani skenario khusus: kode interoperabilitas tingkat rendah, konstruksi yang ringkas, dan tipe yang ditentukan saat runtime. Section ini membahas fitur-fitur lanjutan tersebut beserta versi bahasa yang memperkenalkannya.
Pelajari tuple type dari sisi lanjutan: nama elemen yang bertahan lintas method, tuple sebagai key dictionary, dan perbandingannya dengan System.Tuple generik lama.
Buka → # Anonymous TypesPelajari anonymous types pada skenario lanjutan: array sekali pakai, tipe bersarang, with-expression, dan batasannya sebagai tipe antar method.
Buka → # Dynamic TypeTelusuri mekanisme runtime binder di balik tipe dynamic: binding saat eksekusi, RuntimeBinderException, dan batasan yang perlu diantisipasi.
Buka → # Object TypeBedah tipe object dari sisi lanjutan: helper Equals dan ReferenceEquals, salinan dangkal MemberwiseClone, serta biaya alokasi yang menyertainya.
Buka → # Nint dan NuintPelajari nint dan nuint: tipe bilangan bulat berukuran mengikuti platform, konversinya dengan IntPtr, dan kapan pemakaiannya tepat.
Buka → # Native-Sized IntegersPahami kedudukan baru nint dan nuint sejak C# 11 sebagai native-sized integers yang sah di konteks generik, termasuk antarmuka generic math.
Buka → # Function PointersKenali function pointer C# 9: alamat method tanpa alokasi delegate, ditulis delegate* dan dijalankan di dalam konteks unsafe.
Buka → # Ref Locals dan Ref ReturnsPelajari ref local dan ref return: method yang mengembalikan alias ke elemen data sehingga pemanggil membaca dan menulis langsung ke sumbernya.
Buka → # Ref FieldsPelajari ref fields C# 11: field ref struct yang menyimpan referensi ke data lain, dengan aturan escape yang menjaga keabsahan referensinya.
Buka → # Scoped RefPelajari modifier scoped C# 11 untuk membatasi rentang hidup referensi pada parameter dan field ref struct di kode tingkat rendah.
Buka → # Required MembersPerluas modifier required ke field, constructor beratribut SetsRequiredMembers, dan perilaku with pada record yang berisi anggota required.
Buka → # Init AccessorsBedah aksesor init dari sisi internal: izin menulis field readonly, kerja sama dengan with pada struct, dan modreq IsExternalInit.
Buka → # Primary ConstructorsPelajari primary constructors C# 12 untuk class dan struct: parameter yang ditangkap, pewarisan dengan base, dan bedanya dengan record.
Buka → # Collection ExpressionsPerluas collection expressions ke tipe target lanjutan: argumen ReadOnlySpan, spread ganda, dan bentuk bersarang untuk jagged array.
Buka → # Target-Typed NewPelajari target-typed new C# 9: new() tanpa mengulang nama tipe pada deklarasi lokal, field, argumen method, dan ekspresi kondisional.
Buka → # Alias Any TypePelajari perluasan using alias C# 12 yang kini mencakup tuple, array, dan tipe komposit lain, beserta batas yang ditegakkan compiler.
Buka → # Interceptors dan Fitur EksperimentalKenali dua fitur C# 12 berstatus khusus: attribute Experimental untuk menandai API belum stabil dan interceptors yang menulis ulang pemanggilan method.
Buka → # Fitur Bahasa Berdasarkan VersiPeta ringkas fitur bahasa C# 8 sampai C# 13 beserta tempatnya dibahas di course ini, dan cara mengatur LangVersion pada project.
Buka →