Вот почему я думаю, что вы должны рассматривать предупреждения как ошибки:
Когда у вас есть длинная цепочка методов, в которых что-то может появиться null:
var amount = _client.SnatchLeftoverOrders( _username, _password, "pepperoni").Where( o => o.Ingredients.Any("mushrooms").Where( o => o.Ownersname.ToUpper == _incomingName ).Amount();
Или что-то подобноемножество мест, где могут возникать нулевые исключения.
Код гораздо проще, когда вы помещаете эти строки в try / catch, чем добавление FirstOrDefaults () и затем переходите к! null.
Еслиу вас есть подвох, вы должны что-то сделать с объектом Exception, или это ошибка (если вы обрабатываете предупреждения как ошибки.
Это не способ выиграть медаль за "отточенное программирование", ноэто делает вещи простыми. В наши дни в программировании происходит слишком много няней.