C # 'da null birleştirme operatörü kodu kısaltmanıza izin verir
if (_mywidget == null)
return new Widget();
else
return _mywidget;
Aşağı:
return _mywidget ?? new Widget();
C # içinde olmasını istediğim yararlı bir işleç, bir nesnenin bir özelliğini veya nesne null ise başka bir değeri döndürmenize izin veren bir operatör olacağını bulmaya devam ediyorum. Bu yüzden değiştirmek istiyorum
if (_mywidget == null)
return 5;
else
return _mywidget.Length;
İle:
return _mywidget.Length ??! 5;
Bu operatörün var olmaması için bir neden olması gerektiğini düşünmeye yardım edemem. Kod kokusu mu? Bunu yazmanın daha iyi bir yolu var mı? (Boş nesne deseninin farkındayım ancak bu dört kod satırını değiştirmek için kullanmak aşırıya kaçmış gibi görünüyor.)
??!
C ++ 'da bir operatördür. :-)