在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 = obj?.SomeProperty ?? "Default value";
Console.WriteLine(value);
}
static object GetObject()
{
return null;
}
}
在这个例子中,如果obj
为空,SomeProperty
将返回"Default value"。