dalam pemahaman mengenai fungsi kuat penggabungan C# udara (??)
Dalam pengaturcaraan C#, anda mungkin menemui kod misteri:
Barisan kod ini mengandungi satu set tanda tanya dua yang menarik ", yang menyebabkan rasa ingin tahu orang. Adakah mereka bentuk baru simbol pengkomputeran ternary?
FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();
<揭> melancarkan simbol operasi penggabungan kosong
Jawapannya terletak pada konsep penggabungan udara (??). Sama seperti Sanyuan (segera jika) watak operasi, pengendali penggabungan udara menyediakan kaedah mudah untuk menilai sama ada nilai itu kosong.
<开> Expression Expression
Kembangkan ungkapan di atas dan dapatkan item bersamaan logik berikut:
terus berkembang menjadi format yang lebih biasa:
FormsAuth = formsAuth != null ? formsAuth : new FormsAuthenticationWrapper();
if (formsAuth != null) FormsAuth = formsAuth; else FormsAuth = new FormsAuthenticationWrapper();
Pengendali ini amat berguna untuk menggunakan pembolehubah inisialisasi nilai lalai untuk memastikan bahawa mereka tetap tidak -semasa pelaksanaan program. Ia juga boleh digunakan untuk menggunakan pengendali penggabungan udara berganda untuk memastikan tugasan nilai bukan pertama yang pertama. butiran yang perlu diperhatikan
Walaupun konsep itu bersamaan dengan pengembangan di atas, perlu diperhatikan bahawa pengendali penggabungan udara hanya menilai setiap ungkapan sekali. Ini amat penting jika salah satu ungkapan yang melibatkan kaedah kemungkinan kesan sampingan.
Atas ialah kandungan terperinci Apakah pengendali comel comment c# null (??)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!