我有以下代码:
if (Model.Products?.Cards?.Any()) { }
Cannot convert bool? to bool
搜索到这个之后,我不确定为什么会抛出错误,因为它允许我这样做
if (Model.Products?.Cards?.Count > 0) { }
为什么我在这种情况下无法使用.Any() – 为什么它被归类为可以为空的bool但是count不是可以为空的int?
解决方法
仅仅因为它是有效的,比Nullable< int>上的更大.和int:
if (null > 0) { }
null被认为是Nullable< int>在这里,并比较Nullable< int>用int是好的. (必读:How does comparison operator works with null int?)
但不是if(null). if语句需要一个布尔值.
所需的解决方法可能是:
if (Model.Products?.Cards?.Any() ?? false) { }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。