null-conditional operator *
-
c# 6.0'da gelecek olan ve null kontrolü yapa yapa erişim zahmetinden kurtaracak operatör. normalde şöyle yazmak zorunda kaldığınız bir kod var diyelim:
var kisi = mehmetaga();
int? rengi = null;
if (kisi != null)
{
var cizme = kisi.kiyafet["cizme"];
if (cizme != null)
{
rengi = cizme.rengi;
}
}
null-conditional operator ile bu kodu şöyle yazabiliyorsun:
var rengi = mehmetaga()?.kiyafet["cizme"]?.rengi;
mis mis.
edit: mads torgersenbaşlarda zikredilen null propagating operator yerine null-conditional operator tabirini kullanmaya başlamış, ben de ona değiştirdim. -
swift'te zaten olan.
-
sahsimi "derya gibi null kontrolu yapmak zorunda kalmak, tasarimda bir yerlerde bir yamukluk olduguna isaret degil midir?" buhranlarina daha cok iten operator. (bkz: null object pattern)
-
(bkz: null coalescing operator)
-
aslinda objective-c'de 1 trilyon yildir olan seydir lan :)
id rengi = [[[[mehmetaga() kiyafet] valueforkey:@"cizme] rengi];
dediginizde zaten herhangi bir adimda nil dondugunde ve ona message pass ettiginizde sonucu yine nil oluyordu. ([nil message] == nil)
ekşi sözlük kullanıcılarıyla mesajlaşmak ve yazdıkları entry'leri
takip etmek için giriş yapmalısın.
hesabın var mı? giriş yap