【问题标题】:Simply null check + property access简单的空检查+属性访问
【发布时间】:2019-02-19 13:14:44
【问题描述】:

在C#中是否有一个运算符可以简化这个操作以避免空指针异常?

obj == null ? null : obj.Property;

有点像

obj?.Property;

我真的很想摆脱 NullReferenceExeptions

【问题讨论】:

  • 我想您应该更明确地说明attribute 的含义。 Attribute 无论如何都不能通过variable.Attributetype.Attribute 访问,所以这个问题没有意义。请出示您的实际代码。 - 但是,如果您的意思是 property 而不是 attribute,那么您已经显示了正确的语法。
  • 是的,我的意思是财产,我编辑了帖子,谢谢大家
  • 更新: 我使用的是 C# 版本 5,所以我不能使用该运算符 :(
  • 不幸的是,您将不得不继续检查 null。

标签: c# properties null call


【解决方案1】:

正如@canton7 所说,您回答了自己的问题。 ?. 运算符实际上存在于 C# 中

这是一个小例子,展示了它如何防止NullReferenceException

public class Program
{
    public static void Main(string[] args)
    {
        List<string> list = GetList();
        Console.WriteLine($"{list?.Count}");

        Console.ReadKey();
    }

    public static List<string> GetList()
    {
        return null;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 2020-01-31
    • 1970-01-01
    • 2013-08-06
    • 2022-08-17
    • 1970-01-01
    相关资源
    最近更新 更多