Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya dapat mencegah dan mengendalikan NullReferenceExceptions dalam C#?

Bagaimanakah saya dapat mencegah dan mengendalikan NullReferenceExceptions dalam C#?

Mary-Kate Olsen
Lepaskan: 2025-02-03 09:01:09
asal
592 orang telah melayarinya

How Can I Prevent and Handle NullReferenceExceptions in C#?

Apakah NullReferenceException?

NullReferenception adalah runtime yang tidak normal di C#, dan ia berlaku apabila anda cuba mengakses ahli objek kosong. Ini mungkin berlaku dalam keadaan berikut:

    kaedah cuba memanggil objek kosong.
  • Cuba mengakses atribut objek kosong.
  • Cuba membatalkan penunjuk kosong rujukan.
bagaimana menyelesaikannya?

Terdapat beberapa cara untuk menyelesaikan kaedah NullReferenceExceuon:

    Periksa nilai kosong sebelum melawat ahli.
  • Sebelum mengakses mana -mana ahli objek, anda harus sentiasa memeriksa sama ada objek itu kosong. Anda boleh menggunakan jika pernyataan, seperti yang ditunjukkan dalam contoh berikut:
if (object != null)
{
    // 访问对象的成员。
}
Salin selepas log masuk
<空> Gunakan pengendali penggabungan udara.
    Pengkomputeran Penggabungan Udara (??) membolehkan anda menentukan nilai lalai yang digunakan jika objek kosong. Sebagai contoh, jika objek tidak kosong, nilai atribut nama dikembalikan;
  • <空> Gunakan pengendali keadaan kosong.
pengendali bersyarat (? Dan? []) Membenarkan anda mengakses ahli objek tanpa memeriksa nilai kosong terlebih dahulu. Sebagai contoh, jika objek tidak kosong, nilai atribut nama dikembalikan;
string name = object?.Name ?? "Unknown";
Salin selepas log masuk
  • Gunakan blok cuba/tangkapan. Anda juga boleh menggunakan blok cuba/menangkap untuk memproses NullReferenceExceptions. Sebagai contoh, kod berikut akan memproses NullReferenceExceuon dan mencetak mesej ke konsol:
string name = object?.Name;
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah saya dapat mencegah dan mengendalikan NullReferenceExceptions dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan