Operator null-penggabungan dalam c # memungkinkan Anda untuk mempersingkat kode
if (_mywidget == null)
return new Widget();
else
return _mywidget;
Ke:
return _mywidget ?? new Widget();
Saya terus menemukan bahwa operator yang berguna yang ingin saya miliki di C # akan menjadi salah satu yang memungkinkan Anda untuk mengembalikan properti suatu objek, atau nilai lain jika objek tersebut nol. Jadi saya ingin mengganti
if (_mywidget == null)
return 5;
else
return _mywidget.Length;
Dengan:
return _mywidget.Length ??! 5;
Saya tidak dapat berhenti berpikir bahwa pasti ada alasan bagi operator ini untuk tidak ada. Apakah ini bau kode? Apakah ada cara yang lebih baik untuk menulis ini? (Saya mengetahui pola objek nol tetapi tampaknya berlebihan untuk menggunakannya untuk mengganti keempat baris kode ini.)
??!
adalah operator di C ++. :-)