首页 > 解决方案 > 返回包含安全导航运算符的语句结果为布尔值

问题描述

我刚开始第一次在 C# 中使用安全导航运算符,我想知道这是否是该运算符的正确用例:

public bool HasAttributes
{
    get
    {
        return this.SomeClassMember?.Attributes?.Count > 0;
    }
}

为什么这段代码没有给我编译器错误?我认为如果例如结果为 nullthis.Notification或为 null,则结果为this.Notification.Attributesnull,但return null另一方面不起作用,因为它似乎没有隐式转换为 false。如果我在这里没有正确使用运算符,有人可以解释我如何在我的用例中正确使用它吗?

标签: c#safe-navigation-operator

解决方案


推荐阅读