返回 null 還是空集合:最佳實踐
在設計返回集合作為傳回值類型的方法時,會產生一個問題:應該傳回 null 還是空集合?最佳實踐強烈建議在所有情況下都返回空集合。
為什麼選擇空集合?
傳回 null 是一種不好的實踐,因為它會導致不必要的程式碼複雜性和潛在的運行時錯誤。例如,如果您為集合屬性傳回 null:
if(myInstance.CollectionProperty != null)
{
foreach(var item in myInstance.CollectionProperty)
/* 如果 CollectionProperty 为 null,此代码可能会失败 */
}
如果 myInstance.CollectionProperty 確實為 null,則此程式碼可能會導致異常。相反,最好返回一個空集合,確保上述程式碼仍然可以無錯誤地執行。
屬性最佳實務
對於傳回集合的屬性,建議僅初始化一次該屬性。這可以在包含該屬性的類別的建構函式期間完成:
public List Foos { public get; private set; }
public Bar() { Foos = new List(); }
使用 C# 6,可以使用更簡潔的版本:
public List Foos { get; } = new List();
方法最佳實踐
對於傳回集合的方法,如果實際集合不存在,則傳回空集合。您可以為此目的使用 Enumerable.Empty
public IEnumerable GetMyFoos()
{
return InnerGetFoos() ?? Enumerable.Empty();
}
這種方法確保即使 InnerGetFoos() 傳回 null,方法仍然會傳回一個空集合,從而防止潛在的錯誤。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3