Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah yang dimaksudkan dengan dua tanda soal bersama (??) dalam C#?

Apakah yang dimaksudkan dengan dua tanda soal bersama (??) dalam C#?

WBOY
WBOYke hadapan
2023-09-11 19:25:02853semak imbas

两个问号在一起 (??) 在 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.

Contoh

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);
      }
   }
}

Output

Keluaran contoh di atas adalah seperti berikut.

rreeee

Atas 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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam