c# - 返回包含安全导航运算符的语句结果为布尔值
问题描述
我刚开始第一次在 C# 中使用安全导航运算符,我想知道这是否是该运算符的正确用例:
public bool HasAttributes
{
get
{
return this.SomeClassMember?.Attributes?.Count > 0;
}
}
为什么这段代码没有给我编译器错误?我认为如果例如结果为 nullthis.Notification
或为 null,则结果为this.Notification.Attributes
null,但return null
另一方面不起作用,因为它似乎没有隐式转换为 false。如果我在这里没有正确使用运算符,有人可以解释我如何在我的用例中正确使用它吗?
解决方案
推荐阅读
- python - python中调用函数时局部符号表如何交互?
- java - 如何使用 Java API 在 Google Dataproc 集群上设置可选属性?
- python - Import flask_wtf 与 jupyter notebook 一起工作正常,但命令提示符出现错误
- python - Python“冻结”不包括命名空间
- css - 使用导入模块中的变量时 SASS '无效的 css 错误'
- python - 作业中有或没有括号都做同样的事情
- laravel - AWS 上的 Laravel 调度任务不起作用
- asp.net - Asp.net 和 compatibilityMode 为什么 compatibilityMode="Framework20SP2" 工作?
- flutter - 如何详细添加“添加到收藏”按钮或图标,将添加到 Flutter 中的“收藏”页面
- c - 使用 feof 函数退出文件