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.

# Tuple Types dan Named Tuples

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 Types

Pelajari anonymous types pada skenario lanjutan: array sekali pakai, tipe bersarang, with-expression, dan batasannya sebagai tipe antar method.

Buka →
# Dynamic Type

Telusuri mekanisme runtime binder di balik tipe dynamic: binding saat eksekusi, RuntimeBinderException, dan batasan yang perlu diantisipasi.

Buka →
# Object Type

Bedah tipe object dari sisi lanjutan: helper Equals dan ReferenceEquals, salinan dangkal MemberwiseClone, serta biaya alokasi yang menyertainya.

Buka →
# Nint dan Nuint

Pelajari nint dan nuint: tipe bilangan bulat berukuran mengikuti platform, konversinya dengan IntPtr, dan kapan pemakaiannya tepat.

Buka →
# Native-Sized Integers

Pahami kedudukan baru nint dan nuint sejak C# 11 sebagai native-sized integers yang sah di konteks generik, termasuk antarmuka generic math.

Buka →
# Function Pointers

Kenali function pointer C# 9: alamat method tanpa alokasi delegate, ditulis delegate* dan dijalankan di dalam konteks unsafe.

Buka →
# Ref Locals dan Ref Returns

Pelajari ref local dan ref return: method yang mengembalikan alias ke elemen data sehingga pemanggil membaca dan menulis langsung ke sumbernya.

Buka →
# Ref Fields

Pelajari ref fields C# 11: field ref struct yang menyimpan referensi ke data lain, dengan aturan escape yang menjaga keabsahan referensinya.

Buka →
# Scoped Ref

Pelajari modifier scoped C# 11 untuk membatasi rentang hidup referensi pada parameter dan field ref struct di kode tingkat rendah.

Buka →
# Required Members

Perluas modifier required ke field, constructor beratribut SetsRequiredMembers, dan perilaku with pada record yang berisi anggota required.

Buka →
# Init Accessors

Bedah aksesor init dari sisi internal: izin menulis field readonly, kerja sama dengan with pada struct, dan modreq IsExternalInit.

Buka →
# Primary Constructors

Pelajari primary constructors C# 12 untuk class dan struct: parameter yang ditangkap, pewarisan dengan base, dan bedanya dengan record.

Buka →
# Collection Expressions

Perluas collection expressions ke tipe target lanjutan: argumen ReadOnlySpan, spread ganda, dan bentuk bersarang untuk jagged array.

Buka →
# Target-Typed New

Pelajari target-typed new C# 9: new() tanpa mengulang nama tipe pada deklarasi lokal, field, argumen method, dan ekspresi kondisional.

Buka →
# Alias Any Type

Pelajari perluasan using alias C# 12 yang kini mencakup tuple, array, dan tipe komposit lain, beserta batas yang ditegakkan compiler.

Buka →
# Interceptors dan Fitur Eksperimental

Kenali dua fitur C# 12 berstatus khusus: attribute Experimental untuk menandai API belum stabil dan interceptors yang menulis ulang pemanggilan method.

Buka →
# Fitur Bahasa Berdasarkan Versi

Peta ringkas fitur bahasa C# 8 sampai C# 13 beserta tempatnya dibahas di course ini, dan cara mengatur LangVersion pada project.

Buka →