使用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)
适当且不会引起下游问题?
谢谢!
慕哥6287543
相关分类