Pola Pemeriksaan Null
Termasuk bagian Logika dan Alur dalam perjalanan C# di Coddy. Pelajaran 33 dari 66.
Pemeriksaan null adalah bagian penting dalam menulis kode C# yang tangguh. Ada beberapa pola yang bisa kamu gunakan untuk memeriksa nilai null dengan aman.
Mari kita pelajari beberapa pola umum untuk memeriksa nilai null:
Pertama, pemeriksaan dasar if-null:
string name = null;
if (name == null)
{
Console.WriteLine("Name is null");
}
Pola umum lainnya adalah operator null-conditional (?.), yang mengakses member dengan aman pada object yang mungkin bernilai null:
string name = null;
int? length = name?.Length; // length akan bernilai null
Operator null-coalescing (??) memberikan nilai default saat ekspresi bernilai null:
string name = null;
string displayName = name ?? "Unknown"; // displayName akan bernilai "Unknown"
Kamu juga bisa merangkai pola-pola ini untuk skenario yang lebih kompleks:
string name = null;
int length = (name ?? "").Length; // length akan bernilai 0
Method string.IsNullOrWhiteSpace() adalah cara praktis untuk memeriksa apakah string bernilai null, kosong, atau hanya berisi karakter spasi putih, semuanya dalam satu pemanggilan:
string name = null;
if (string.IsNullOrWhiteSpace(name))
{
Console.WriteLine("Name is null, empty, or whitespace");
}
Ini sangat berguna saat kamu perlu memperlakukan null, string kosong, dan string yang hanya berisi spasi dengan cara yang sama. Contohnya:
string name1 = null;
string name2 = "";
string name3 = " ";
// Ketiganya akan mencetak pesan
if (string.IsNullOrWhiteSpace(name1)) Console.WriteLine("name1 is null/empty/whitespace");
if (string.IsNullOrWhiteSpace(name2)) Console.WriteLine("name2 is null/empty/whitespace");
if (string.IsNullOrWhiteSpace(name3)) Console.WriteLine("name3 is null/empty/whitespace");
Perhatikan bahwa string.IsNullOrWhiteSpace() berbeda dari pemeriksaan null biasa. Fungsi ini juga mendeteksi string kosong dan string yang hanya berisi spasi, tab, atau karakter whitespace lainnya.
Tantangan
MudahBuat method bernama processUserName yang menerima parameter string userName. Method tersebut harus:
- Jika
userNamebernilai null, kembalikan "No user provided" - Jika
userNamekosong atau hanya berisi spasi kosong, kembalikan "Invalid username" - Jika tidak, kembalikan "Welcome, [userName]!" dengan [userName] sebagai nama pengguna yang sebenarnya
Ingat untuk menggunakan pola pemeriksaan null yang sesuai.
Coba sendiri
using System;
class ProcessUserName
{
public static string processUserName(string userName)
{
// Tulis kodemu di sini
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1array Multidimensi
Dasar-Dasar array 2DMendeklarasikan dan Menginisialisasi array 2DMengakses Elemen array 2DPerulangan Bersarang dengan array 2Darray BergerigiOperasi Matriks UmumRangkuman: array Multidimensi4Teknik Alur Kontrol
Pengembalian DiniKlausa PenjagaPernyataan Lompatan (goto)Break dan ContinueMeratakan Percabangan Bersarang7Operator Logika Lanjutan
Evaluasi Hubung SingkatOperator Logika PercabanganPrioritas OperatorRingkasan Operator Lanjutan2Pengambilan Keputusan Tingkat Lanjut
Beberapa KondisiLogika Boolean yang KompleksPerbandingan If dan SwitchPernyataan Switch BersarangUlasan: Pengambilan Keputusan Tingkat Lanjut5Penanganan Exception
Dasar Try-CatchJenis ExceptionBeberapa Blok CatchBekerja dengan fileBlok FinallyUsing vs. Try-FinallyException KustomRingkasan: Penanganan error3Peningkatan Loop
Performa LoopIterasi yang KompleksSetiap Jenis LoopRefactoring LoopRangkuman: Loop yang Dioptimalkan6Penanganan Null
Dasar Referensi NullTipe Nilai NullablePola Pemeriksaan NullPemrograman DefensifRingkasan: Keamanan NullLatihan sendiri: Compiler C# online