Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.
0

C#'da iki tane soru işareti operatörü (??) ne için kullanılıyor

C#'da yeni gördüm. İki tane soru işareti kullanılıyor.

Kullanım amacı nedir?

Soran:12.04.16 22:19
misafir  

1 Cevap

0
Buna null birleştirme (coalescing) operatörü diyorlar.

?: koşul operatörünün bir başka şekli.

Eğer verilen birinci değer null ise sonrakini, o da null ise sonrakinin değerini seçiyor ve varsa böyle devam ediyor. Bir çeşit kısa devre operatörü olarak çalışıyor.

Örneğin:
Object a = b ?? c ?? d ?? e;
Örnekte a değişkenine null değilse b değişkeninin değerini, null ise c'nin değerini, o da null ise d değişkeninin değerini atıar ve böyle devam eder.

Bunu ben web sayfalarında yapılan isteklerde değer null ise varsayılan bir değer atamak için kullandım.

Şöyle:

string islem = Request.QueryString.Get("islem") ?? "Ekleme";
Örnekte yapılması istenen işlem olarak QueryString.Get bir değer döndürürse döndürdüğü değeri (adres çubuğundan gelen sorgu dizesindeki islem isimli anahtarın değerini), eğer null döndürürse işlem olarak "Ekleme" yi kabul ediyorum.

Üstteki örnekteki kullanımı ?: operatörü ve if ile şöyle yaparız.
string islem = Request.QueryString.Get("islem");
islem = islem ? "Ekleme";
string islem = Request.QueryString.Get("islem");
if (islem == null)
	islem = "Ekleme";


Cevaplayan: 12.04.16 19:39
cevapsitesi
102,034p 15ü
Cevabı seçen: 08.06.16 00:03
canora
101,387p 4ü