


`x is null` vs. `x == null` dalam C#: Bilakah Anda Harus Menggunakan Yang Mana?
x is null vs x == null
Dalam C#, membandingkan objek dengan null menggunakan == dan secara tradisinya adalah serupa. Walau bagaimanapun, C# 7 memperkenalkan pengendali baharu, adalah batal, yang menimbulkan persoalan: adakah terdapat kelebihan menggunakan ini berbanding == null konvensional?
Semantik
Bertentangan dengan kepercayaan popular, semantik x == null dan x adalah null tidak sama. Walaupun kedua-duanya membandingkan objek dengan nol, kelakuan mereka berbeza apabila membandingkan dengan pemalar selain null.
Kelebihan is null
Satu kelebihan is null ialah keupayaannya untuk mempertimbangkan jenis objek semasa perbandingan. Contohnya:
Test(1); void Test(object o) { if (o is 1) Console.WriteLine("a"); else Console.WriteLine("b"); }
Dalam contoh ini, operator is membenarkan perbandingan o kepada pemalar 1, dengan mengambil kira jenis masing-masing.
Bila Penggunaan adalah batal
Biasanya, x adalah nol adalah tercih edilir apabila berurusan dengan pemalar selain daripada null, terutamanya apabila mempertimbangkan jenis. Untuk perbandingan yang melibatkan hanya null, kedua-duanya == null dan null mempunyai tujuan yang sama.
Bila Penggunaan == null
== null kekal sebagai pilihan yang boleh dipercayai untuk perbandingan yang melibatkan null. Apabila tidak ada keperluan untuk mempertimbangkan jenis objek, == null biasanya digunakan.
Kemas kini
Pengkompil Roslyn telah diubah suai untuk menyelaraskan tingkah laku == dan adalah batal dalam senario di mana tiada pengendali kesaksamaan yang terbeban. Akibatnya, kedua-duanya kini mengoptimumkan kepada tingkah laku == yang lebih cekap. Walau bagaimanapun, jika pengendali kesaksamaan yang berlebihan terdapat, tingkah laku adalah nol dan == null berbeza.
Atas ialah kandungan terperinci `x is null` vs. `x == null` dalam C#: Bilakah Anda Harus Menggunakan Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah jenis nilai yang dikembalikan oleh fungsi bahasa C? Apa yang menentukan nilai pulangan?

Gulc: Perpustakaan C dibina dari awal

Langkah Format Fungsi Fungsi C Langkah Penukaran Kes

Apakah definisi dan peraturan panggilan fungsi bahasa C dan apakah itu

Di manakah nilai pulangan fungsi bahasa C yang disimpan dalam ingatan?

Penggunaan dan perkongsian frasa yang berbeza

Bagaimanakah saya menggunakan algoritma dari STL (jenis, mencari, mengubah, dll) dengan cekap?

Bagaimana Perpustakaan Templat St Standard (STL) berfungsi?
