'var' равен нулю хотя бы на одном пути выполнения - sonarqube - PullRequest
0 голосов
/ 25 апреля 2019

с помощью sonarqube для анализа моего кода и получения сообщения "actor" равен нулю хотя бы по одному пути выполнения "для следующего кода

if (actor.ProducerAgreementIds != null && actor.ProducerAgreementIds.Count > 0)
   {

actor.ProducerAgreementIds - это List<string>.

Разве этот оператор уже не выполняет нулевую проверку? или это должно быть вместо:

if (actor != null && (actor.ProducerAgreementIds != null && actor.ProducerAgreementIds.Count > 0))
    {

альтернатива будет просто с использованием условного доступа

if (actor?.ProducerAgreementIds != null && actor.ProducerAgreementIds.Count > 0)

подойдет и не вызовет проблем в нисходящем направлении?

спасибо!

1 Ответ

1 голос
/ 25 апреля 2019

С этой проверкой будет достаточно:

 if (actor?.ProducerAgreementIds?.Count > 0)
 {
 }
...