在C#中,为了避免空指针异常(NullPointerException),你可以使用?.
操作符来安全地访问对象的属性或方法。这个操作符会在对象为空时返回null,而不是抛出异常。这里有一个例子:
class Program { static void Main() { var obj = GetObject(); if (obj != null) { Console.WriteLine(obj.SomeProperty); } else { Console.WriteLine("Object is null"); } } static object GetObject() { return null; } }
在这个例子中,GetObject()
方法返回null。当我们尝试访问obj.SomeProperty
时,?.
操作符会确保在obj
为空时不尝试访问属性,从而避免了空指针异常。
另外,你还可以使用空合并运算符(??
)来为可能为null的值提供一个默认值:
class Program { static void Main() { var obj = GetObject(); var value = https://www.yisu.com/ask/obj?.SomeProperty ??"Default value"; Console.WriteLine(value); } static object GetObject() { return null; } }
在这个例子中,如果obj
为空,SomeProperty
将返回"Default value"。