NullReferenceException adalah galat paling terkenal di dunia C#. Nullable reference types mengubah null dari bahaya laten menjadi informasi yang dianalisis compiler. Section ini membahas cara kerja analisis null-state dan perangkat lengkap untuk menulis kode yang null-safe sejak kompilasi.

# Nullable Value Types

Pelajari pembungkus Nullable untuk tipe nilai, ditulis dengan tanda tanya seperti int?, untuk mewakili data numerik yang mungkin belum diisi.

Buka →
# Nullable Reference Types Introduction

Kenali nullable reference types: anotasi tanda tanya pada tipe referensi dan peringatan compiler yang menggantikan NullReferenceException di saat kompilasi.

Buka →
# Nullable Context

Atur cakupan analisis nullability melalui properti Nullable pada project file dan direktif #nullable pada tingkat berkas.

Buka →
# Nullable Annotations

Pelajari makna anotasi tanda tanya dan janji non-nullable pada variabel, field, property, dan parameter method.

Buka →
# Null-State Analysis

Pahami bagaimana compiler melacak keadaan mungkin-kosong dan pasti-terisi pada setiap baris program.

Buka →
# Null-Conditional Operator

Gunakan operator ?. dan ?[] untuk menjangkau anggota data yang mungkin kosong tanpa mencacah pemeriksaan if.

Buka →
# Null-Coalescing Operator

Kuasai operator ?? dan ??= untuk memberi nilai pengganti bila data yang mungkin kosong dibaca atau diisi sekali jalan.

Buka →
# Null-Forgiving Operator

Gunakan akhiran ! untuk menyatakan kepastian kita kepada compiler serta pahami risiko penggunaannya.

Buka →
# Null Patterns

Kenali pemeriksaan null sebagai pattern matching: is null, is not null, dan arm null pada switch expression.

Buka →
# Nullable Generic Types

Pahami makna T? pada kode generik yang terikat constraint dan seluk-beluk pembungkus Nullable di baliknya.

Buka →
# Nullability Attributes

Gunakan atribut dari namespace System.Diagnostics.CodeAnalysis untuk menyatakan ulang aturan nullability pada API yang rumit.

Buka →
# Nullable API Design

Rancang API yang jujur soal keboleh-kosongan melalui return type, pola Try, required member, dan atribut nullability.

Buka →