Toán tử hợp nhất null trong c # cho phép bạn rút ngắn mã
if (_mywidget == null)
return new Widget();
else
return _mywidget;
Xuống tới:
return _mywidget ?? new Widget();
Tôi tiếp tục thấy rằng một toán tử hữu ích mà tôi muốn có trong C # sẽ là một toán tử cho phép bạn trả về một thuộc tính của một đối tượng hoặc một số giá trị khác nếu đối tượng là null. Vì vậy, tôi muốn thay thế
if (_mywidget == null)
return 5;
else
return _mywidget.Length;
Với:
return _mywidget.Length ??! 5;
Tôi không thể nghĩ rằng phải có một số lý do để nhà điều hành này không tồn tại. Có phải là một mùi mã? Có cách nào tốt hơn để viết này? (Tôi biết về mẫu đối tượng null nhưng dường như quá mức cần thiết để sử dụng nó để thay thế bốn dòng mã này.)
??!
là một toán tử trong C ++. :-)