Что такое club
, и, возможно, у него есть перегрузка оператора stati c ==
, которая не является нулевой безопасностью? Например, следующее возможно и неверно:
bool == (Foo x, Foo y) => x.Id == y.Id;
Не работает, потому что не учитывает, что x
и / или y
могли быть null
. Использование club == null
вызовет этот неработающий оператор, вызывая NRE.
Хороший способ проверки - использовать club is object
вместо club != null
, так как синтаксис is object
/ is null
never вызовы stati c ==
операторские перегрузки.