C# ile çalışırken çok kullanışlı olan operatörlerden bir tanesi de çift soru işareti(??)'dir. Bu operötün işlevini anlayabilmek için C# programlama dilinde Nullable değişkenler konusu iyi bilmek gerekiyor. Eğer bu konuyu bilmiyorsanız konuyu anlayabilmek için "C# Nullable ve HashValue Nedir? Nasıl Kullanılır?" konusuna bakmanızı öneririm. Konuyu anlatabilmek açısından bir örnek üzerinden açıklayacağım. Bunun için Nullable int türünde değeri null olan bir değişken tanımlayalım.
int? x = null;
Bu değişkeni değeri Nullable olan veya olmayan bir değişkene atamak istersek ?? operatörünü aşağıdaki şekilde kullanabiliriz.
int y = x ?? -1;
Bu operatör kısaca ve tek cümleyle açıklayacak olursak eğer soldaki değer null değilse değişkenimiz buna eşit olur, eğer null ise sağdaki değeri alır. Bizim örneğimizde de x değişeni null'a eşit olduğu için y değişkeninin değeri -1 olacaktır. Örneğimizi test etmek için int x=10 yapalım ve test edelim. Bu değişiklikten sonra y değerini ekrana yazdıracak olursak sonucun 10 olduğunu görebiliriz.
Son olarak konuyu özetleyecek olursak çift soru işareti operatörü (??) soldaki değerin null olup olmamasını kontrol eder eğer null ise değer olarak sağdaki değeri atar, eğer null değilse soldaki değeri atar.
Konu ile alakalı sorunuz olursa lütfen sormaktan çekinmeyin. En kısa sürede yanıtlamaya çalışacağım.
int? x = null;
Bu değişkeni değeri Nullable olan veya olmayan bir değişkene atamak istersek ?? operatörünü aşağıdaki şekilde kullanabiliriz.
int y = x ?? -1;
Bu operatör kısaca ve tek cümleyle açıklayacak olursak eğer soldaki değer null değilse değişkenimiz buna eşit olur, eğer null ise sağdaki değeri alır. Bizim örneğimizde de x değişeni null'a eşit olduğu için y değişkeninin değeri -1 olacaktır. Örneğimizi test etmek için int x=10 yapalım ve test edelim. Bu değişiklikten sonra y değerini ekrana yazdıracak olursak sonucun 10 olduğunu görebiliriz.
Son olarak konuyu özetleyecek olursak çift soru işareti operatörü (??) soldaki değerin null olup olmamasını kontrol eder eğer null ise değer olarak sağdaki değeri atar, eğer null değilse soldaki değeri atar.
Konu ile alakalı sorunuz olursa lütfen sormaktan çekinmeyin. En kısa sürede yanıtlamaya çalışacağım.
Yorumlar
Yorum Gönder