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

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

WBOY
Lepaskan: 2023-09-11 19:25:02
ke hadapan
921 orang telah melayarinya

两个问号在一起 (??) 在 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);
      }
   }
}
Salin selepas log masuk

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!

sumber:tutorialspoint.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan