На данный вопрос уже ответили:
При просмотре одно из обучающих видео увидел следующую запись:
public event EventHandler Boom;
protected virtual void OnBoom();
{
Boom?.Invoke(this, EventArgs.Empty);
}
А конкретно интересен оператор '?' при вызове метода Invoke на событии. Зачем нужен данный оператор? Какую роль он выполняет если применяется подобным образом при вызове методов? Касательно этого куска кода, который некачественно вырезан из контекста, информация не интересна. Нужно общее предназначение оператора '?'.
Начиная с C# 6.0 в языке появился оператор условного null
(Null-Conditional Operator) или, как его нередко называют, элвис-оператор. Он позволяет упростить проверку на значение null
в условных конструкциях.
И в данном примере, если Boom == null
, вызов Invoke
не произойдет. Если Boom != null
, то вызов произойдет.
Общее предназначение оператора таково - если переменная, которая стоит перед ?
, равна null
, то вызов метода на этом объекте не произойдет.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Во время работы приложение сервер должен прислать AssetBundle и файл с расширениемunitypackage, в котором хранится база данных с маркерами
Необходимо сделать блокировку, ограниченную по времени, например 1 секундуВ теле блокировки я делаю задержку на 2 секунды (умышленно):
Переношу код с WPF на Windows Forms и столкнулся с такой проблемойЕсть класс - который получает контекст от основного окна в конструктор