Cevap Geçmişi
13.04.16 00:46
Buna null conditional (koşullu null) operatörü diyorlar. Bir değerin null olup olmadığını kontrol içi bize kısa bir yol sunuyor. İkinci bir kullanımı ise null değeri alamayan değer tipleri (int gibi) için null değeri alabilmesini sağlıyor: Koşullu null operatörü C# 6.0'da kullanılmaya başlandı. Eğer daha önceki bir sürümü kullanıyorsanız çalışmayacaktır. Denemedim ama Visual Studio 2015'de çalışması lazım. Birinci kullanım şekli (OrnekAdi?.Ozellik) Bir örneğin özelliğine erişmeden önce örneği temsil eden değişkenin null olup olmadığı test ediyor. if ile beraber kullandığında örneğin / değişkenin değeri null ise if çalıştırılmıyor (false kabul ediliyor). Atamalarda ise örneğin değeri null değilse özelliğinin değerini, null ise null atıyor. Örneğin: if (adi?.IndexOf("A") > -1)
Console.WriteLine("Adında A harfi var.");
Örnek alttakiyle aynı işi görüyor: if (adi != null && adi.IndexOf("A") > -1)
Console.WriteLine("Adında A harfi var.") Bunu aşağıdaki gibi de kullanabiliriz: if (musteri?.Adres?.Mahalle) Console.WriteLine(musteri.Adres.Mahalle); Yani musteri null değilse ve adresi de null değilse mahallesini ver. İkinci kullanım şekli (TipAdi?) İkinci kullanımda değişken tipinin yanında soru işareti yazılırsa, Nullable (null değeri alabilir) olmayan bir tipe (int gibi bir değer tipi) null ataması yapılabiliyor. Örnek: int? karakterSayisi = Adi?.Length; Bu örnekte her iki kullanım birden var. Adi değişkeninin değeri null ise Adi?.Length null döndüreceğinden karakterSayisi isimli değişkene Nullable özelliği verilip null değeri atanmış oluyor. Örnek aşağıdakinin kısa yoldan yapılmışı: Nullable<int> karakterSayisi = Adi?.Length;
Ekleyen: cevapsitesi
Değiştiren: canora
Cevap olarak seçen: canora
12.04.16 20:47
Buna null conditional (koşullu null) operatörü diyorlar. Bir değerin null olup olmadığını kontrol içi bize kısa bir yol sunuyor. İkinci bir kullanımı ise null değeri alamayan değer tipleri (int gibi) için null değeri alabilmesini sağlıyor: Koşullu null operatörü C# 6.0'da kullanılmaya başlandı. Eğer daha önceki bir sürümü kullanıyorsanız çalışmayacaktır. Denemedim ama Visual Studio 2015'de çalışması lazım. Birinci kullanım şekli (OrnekAdi?.Ozellik) Bir örneğin özelliğine erişmeden önce örneği temsil eden değişkenin null olup olmadığı test ediyor. if ile beraber kullandığında örneğin / değişkenin değeri null ise if çalıştırılmıyor (false kabul ediliyor). Atamalarda ise örneğin değeri null değilse özelliğinin değerini, null ise null atıyor. Örneğin: if (adi?.IndexOf("A") > -1)
Console.WriteLine("Adında A harfi var.");
Örnek alttakiyle aynı işi görüyor: if (adi != null && adi.IndexOf("A") > -1)
Console.WriteLine("Adında A harfi var."); İkinci kullanım şekli (TipAdi?) İkinci kullanımda değişken tipinin yanında soru işareti yazılırsa, Nullable (null değeri alabilir) olmayan bir tipe (int gibi bir değer tipi) null ataması yapılabiliyor. Örnek: int? karakterSayisi = Adi?.Length; Bu örnekte her iki kullanım birden var. Adi değişkeninin değeri null ise Adi?.Length null döndüreceğinden karakterSayisi isimli değişkene Nullable özelliği verilip null değeri atanmış oluyor. Örnek aşağıdakinin kısa yoldan yapılmışı: Nullable<int> karakterSayisi = Adi?.Length;
Ekleyen: cevapsitesi
En fazla 3 eski durum gösterilir.