Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah pengendali C# 6.0 NULL-CONDITION (?) Memudahkan pengendalian null?

Bagaimanakah pengendali C# 6.0 NULL-CONDITION (?) Memudahkan pengendalian null?

Patricia Arquette
Lepaskan: 2025-01-25 15:26:08
asal
634 orang telah melayarinya

How Does the C# 6.0 Null-Conditional Operator (?. ) Simplify Null Handling?

C# 6.0? .. Operator: Pemprosesan Nilai Udara yang Dipadam

C# 6.0 diperkenalkan?. Pengendali ini biasanya dipanggil pengendali bersyarat kosong, yang menyediakan cara yang mudah dan selamat untuk mengakses atribut atau kaedah panggilan objek kosong.

mari kita lihat serpihan kod berikut:

mari kita memecahkan prinsip kerja pengendali ini:
<code class="language-csharp">public class A
{
    public string PropertyOfA { get; set; }
}

...

var a = new A();
var foo = "bar";
if (a?.PropertyOfA != foo)
{
    //somecode
}</code>
Salin selepas log masuk

Ia mula -mula menilai nombor operasi pertama (a) dan memeriksa sama ada ia kosong. Sekiranya A kosong, keseluruhan ungkapan akan dinilai sebagai null dan tidak akan dinilai lebih lanjut.
  • Jika A tidak kosong, terus menilai lawatan operasi kedua (PropertyOfa) sebagai ahli A. Dalam contoh ini, ia mengakses harta PropertyOfa A.
  • Hasil ekspresi adalah sama ada nilai null (jika A kosong) atau nilai A.Propertyofa.
  • Pada dasarnya, simbol -simbol operasi bertindak sebagai ukuran untuk mencegah keabnormalan rujukan yang tidak normal. Ia membolehkan anda mengakses atribut atau kaedah panggilan objek kosong, tidak menyebabkan permohonan runtuh.

Pertimbangkan tatabahasa alternatif ini:

Walaupun kaedah ini telah mencapai hasil yang sama, ia melibatkan nilai udara yang berasingan dan tugasan bersyarat. ?.
<code class="language-csharp">string bar = (a == null ? null : a.PropertyOfA);
if (bar != foo)
{
    ...
}</code>
Salin selepas log masuk

Di samping itu, simbol operasi boleh mengubah jenis ungkapan. Sebagai contoh, FileInfo.Length adalah atribut yang panjang. Walau bagaimanapun, jika anda menggunakannya di atasnya?

Anda akhirnya mendapat ungkapan yang panjang? Ini menghapuskan permintaan untuk pemeriksaan vakum yang jelas, memudahkan kod anda dan meningkatkan ketersediaannya.

Atas ialah kandungan terperinci Bagaimanakah pengendali C# 6.0 NULL-CONDITION (?) Memudahkan pengendalian null?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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