假设我有这样的东西:
public IOrder SomeMethodOnAnOrderClass()
{
IOrder myOrder = null;
if (SomeOtherOrder != null)
{
myOrder = SomeOtherOrder.MethodThatCreatesACopy();
}
return myOrder;
}
为什么C#的制作者要求明确将
myOrder
设置为null
?在哪些情况下你会想要让它保持未赋值状态?
将其设置为null是否有成本?即使变量后来会被设置为其他值,您也不希望总是将未分配的变量设置为null吗?
或者这是必须的,以确保你已经“条理清晰,步步到位”?
还是有其他原因?
default(IOrder)
。 - Austin Brunkhorst