有沒有辦法寫這個,所以我不必明確聲明字段_D
?c#類屬性聲明
- 如何在類實現時避開
= new List<T>()
?
我有什麼:
class c {
private List<T> _D = new List<T>();
public List<T> D { get { return _D; } set { _D = value; } }
}
我想要什麼:
class c {
public List<T> D { get; set; }
}
那豈不是更好地聲明構造來分配財產List<T>
?如在:
class c {
c() { D = new List<t>(); }
public List<t> D { get; set; }
}
當實現屬性和分配初始值時,今天的最佳實踐是什麼?
這三者在技術上都是正確的。我在我接管的代碼中找到了第一個。我無法找到聲明所有屬性後臺字段的原始代碼的任何用途。我認爲聲明支持字段並不是自c#v3以來的最佳實踐,除非實際上要在類的方法中的某處使用專用字段,這在此不會發生。
您可以將初始List<>
分配給屬性,如'在類中某處使用屬性'。 或者你可以把它看作「毫無意義,而不是像我的第三個例子」。
這些日子通常被認爲是最佳實踐嗎?
你的問題令我困惑。你想要的是完全正確的,並在構造函數中聲明初始值。那麼你究竟在問什麼**? –
'public List D {get;組; } =新列表();'? –
crashmstr
這三個都是技術上正確的。我在我接管的代碼中找到了第一個。我沒有找到聲明所有屬性的原始背後的任何目的。我認爲自c#v3以來,實際上聲明的屬性已經脫離了最佳實踐,除非實際上要在類的方法中使用私有屬性。您可以將初始列表分配給屬性,如'在類中某處使用屬性'。或者你可以把它看作毫無意義,而不是像我的第三個例子那樣。這些日子通常被認爲是最佳做法? – user5903880