C# ?? Operatörü Nedir ? Nasıl Kullanılır ?
Merhabalar Arkadaşlar bugün C# kullandığımız operatörlerden ?? operatörünü kısaca anlatacağım .
Github = https://github.com/salihseker/C-Operator-Example
?? operatörü ne işe yarar ?
Bu operatör string bir değere null gelmesi durumunda farklı bir string in yazılması işlemini yapar .
Örnek olarak kod üzerinde gösterirsek daha açıklayıcı olacaktır .
[raw] [/raw]
static void Main(string[] args)
{
string ekranaYazilicakMetin , anaMetin, yedekMetin;
Console.WriteLine("------------------------- Örnek 1 ------------------------------");
Console.WriteLine();
anaMetin = null;
yedekMetin = "Ana metin girilmemiş!";
ekranaYazilicakMetin = anaMetin ?? yedekMetin; // anaMetin Null Gelmesi durumunda yedekMetin ekrana yazılacaktır
Console.WriteLine(ekranaYazilicakMetin);
Console.WriteLine();
Console.WriteLine("------------------------- Örnek 2 ------------------------------");
Console.WriteLine();
anaMetin = "Merhaba Dünya!";
yedekMetin = "Ana metin girilmemiş!";
ekranaYazilicakMetin = anaMetin ?? yedekMetin; // anaMetin Null Gelmesi durumunda yedekMetin ekrana yazılacaktır
Console.WriteLine(ekranaYazilicakMetin);
Console.WriteLine();
Console.WriteLine("------------------------- Örnek 3 ------------------------------");
Console.WriteLine();
anaMetin = ""; // boşluk karakteri olduğu için ekrana boşluk karakterini yazdıracaktır.
yedekMetin = "Ana metin girilmemiş!";
ekranaYazilicakMetin = anaMetin ?? yedekMetin; // anaMetin Null Gelmesi durumunda yedekMetin ekrana yazılacaktır
Console.WriteLine(ekranaYazilicakMetin);
Console.WriteLine();
Console.WriteLine("------------------------- Örnek 4 ------------------------------");
Console.WriteLine();
// Aynı işlemi kısa if - else kullanımı ilede yapabiliriz , yazıcağımız kod biraz daha uzayacaktır.
anaMetin = null;
yedekMetin = "Ana metin girilmemiş!";
ekranaYazilicakMetin = anaMetin == null ? yedekMetin : anaMetin ; // anaMetin Null Gelmesi durumunda yedekMetin ekrana yazılacaktır
Console.WriteLine(ekranaYazilicakMetin);
Console.WriteLine();
Console.WriteLine("------------------------- Örnek 5 ------------------------------");
Console.WriteLine();
// Aynı işlemi normal if-else kullanımı ile yaparsakta yazdığımız kod dahada uzayacaktır..
anaMetin = null;
yedekMetin = "Ana metin girilmemiş!";
if (anaMetin == null) // anaMetin Null Gelmesi durumunda yedekMetin ekrana yazılacaktır
ekranaYazilicakMetin = yedekMetin;
else
ekranaYazilicakMetin = anaMetin;
Console.WriteLine(ekranaYazilicakMetin);
Console.ReadKey();
Ekran Çıktısı :
[raw] [/raw]

Umarım açıklayıcı olmuştur , iyi günler dilerim .


Teşekkürler Salih Bey, yazılım işinde köşe bucak demeden ; ayrıntıda kalmış kalmış konulara değinmek çok saygın bir tutum.