在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"。