Rumah > Artikel > pembangunan bahagian belakang > Apakah yang dimaksudkan dengan dua tanda soal bersama (??) dalam C#?
Ini ialah pengendali null-coalescing . Operator penggabungan nol mengembalikan nilai operan kirinya jika operan kiri bukan nol jika tidak, ia menilai operan kanan dan mengembalikan hasilnya. Operator ?? tidak menilai operan kanannya jika operan kiri menilai kepada bukan nol.
Jenis nullable boleh mewakili nilai yang tidak ditentukan atau daripada domain jenis. Apabila operan kiri mempunyai jenis nullable, kita boleh menggunakan operator ?? untuk mengembalikan nilai yang sesuai. Jika kami cuba menetapkan jenis nilai yang boleh dibatalkan kepada jenis nilai yang tidak boleh dibatalkan tanpa menggunakan operator ??, kami akan mendapat ralat masa kompilasi dan jika kami memaksa hantaran, InvalidOperationException akan dilemparkan.
Berikut ialah kelebihan pengendali Null-Coalescing (??) -
Ia digunakan untuk mentakrifkan nilai lalai untuk item boleh nullable (jenis nilai dan jenis rujukan).
Ia menghalang InvalidOperationException semasa runtime.
Ia membantu kita menghapuskan banyak keadaan "jika" yang berlebihan.
Ia berfungsi untuk jenis rujukan dan jenis nilai.
Kod menjadi teratur dan boleh dibaca.
Demonstrasi
using System; namespace MyApplication{ class Program{ static void Main(string[] args){ int? value1 = null; int value2 = value1 ?? 99; Console.WriteLine("Value2: " + value2); string testString = "Null Coalescing"; string resultString = testString ?? "Original string is null"; Console.WriteLine("The value of result message is: " + resultString); } } }
Keluaran contoh di atas adalah seperti berikut.
rreeeeAtas ialah kandungan terperinci Apakah yang dimaksudkan dengan dua tanda soal bersama (??) dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!