#c_sharp #c_sharp_60
This question already has an answer here: Как упростить проверку на null на C#? (1 ответ) Closed 1 год назад. При просмотре одно из обучающих видео увидел следующую запись: public event EventHandler Boom; protected virtual void OnBoom(); { Boom?.Invoke(this, EventArgs.Empty); } А конкретно интересен оператор '?' при вызове метода Invoke на событии. Зачем нужен данный оператор? Какую роль он выполняет если применяется подобным образом при вызове методов? Касательно этого куска кода, который некачественно вырезан из контекста, информация не интересна. Нужно общее предназначение оператора '?'.
Ответы
Ответ 1
Начиная с C# 6.0 в языке появился оператор условного null (Null-Conditional Operator) или, как его нередко называют, элвис-оператор. Он позволяет упростить проверку на значение null в условных конструкциях. И в данном примере, если Boom == null, вызов Invoke не произойдет. Если Boom != null, то вызов произойдет. Общее предназначение оператора таково - если переменная, которая стоит перед ?, равна null, то вызов метода на этом объекте не произойдет.
Комментариев нет:
Отправить комментарий