我需要給我的屬性初始值,我想知道是否有比使用構造函數更簡單的方法。在C#中初始化公共屬性的最佳方式是什麼?
回答
好構造函數是最好的。你怎麼也可以調用一個方法。
檢查下面的鏈接過於 Initializing C# auto-properties
這很好用,特別是[DefaultValue(
雅虎..!.......快樂編碼 – Singleton 2010-11-15 06:28:48
不,他們不是。就CPU速度而言,它們可能是最有效的方法,但在維護方面 - 在大於1個參數的情況下 - 最好使用就地分配,尤其是在不涉及特殊邏輯的情況下。例如:new bar(){x = 5,y = 7};這迫使類欄的用戶命名所有的屬性/字段,而使用帶參數的構造函數只允許使用名稱(不提,後一種方法只適用於Net 4.0)。 – greenoldman 2010-11-15 07:19:15
是否使用自動實現的屬性?值類型屬性將被初始化爲其默認值。引用類型將被初始化爲空。
如果你想讓他們初始化他們,我認爲最好的選擇是在構造函數中設置它們。
如果你沒有使用自動實現的屬性,你可以初始化它們在哪裏聲明。
這也將是牢記order in which the objects fields and constructors are initialized.
如果你正在利用自動屬性的有用的構造是最簡單的方法。如果你不是,那麼你的成員變量可以定義默認值。
private string _someString = "Hello.";
但是,您必須自己定義getter和setter。
public string SomeString
{
get { return _someString; }
set { _someString = value; }
}
這不會比在構造函數中定義默認值更簡單。
如果你只是想初始化屬性值,那麼構造函數就足夠了,我不明白你爲什麼認爲它們並不簡單。
但是你能做到這一點,如果你願意,你可以初始化變量是這樣的:
int _myProperty = 5;
public int MyProperty
{
get{ return _myProperty ;}
set { _myProperty=value; }
}
我喜歡去想這個有點不同。如果值爲強制用於創建實例,則它需要是構造函數的參數。
但是,如果值爲可選然後通過屬性設置它是好的。
- 1. 自定義初始化或公共屬性什麼是viewControllers之間發送參數的最佳方式
- 2. 確保初始化過程中存在屬性的最佳方法是什麼?
- 3. 什麼是使用EJB 3.0初始化log4j的最佳方式?
- 4. JPA初始化數據的最佳方式是什麼?
- 5. OwlCarousel2初始化多個實例的最佳方式是什麼
- 6. 初始化應用程序的最佳方式是什麼?
- 7. 什麼是初始化bean的最佳方式?
- 8. 什麼是初始化Quartz的最佳方式?
- 9. 什麼是使用Arrays.asList()初始化列表的最佳方式
- 10. C++和Ruby共享公共類的最佳方法是什麼?
- 11. 在Rails中獲得初始JSON的最佳方式是什麼?
- 12. 什麼是初始化屬性或屬性的Pythonic方法?
- 13. Symfony |在Entity中初始化屬性的最佳方法
- 14. 在班級中初始化記錄器的最佳方式是什麼?
- 15. 在C#中處理共享dll的最佳方式是什麼?
- 16. 在WordPress中格式化C#的最佳方式是什麼?
- 17. 什麼是釋放objective-c屬性的最佳方式?
- 18. 在c#中用null初始化自動實現的屬性的最佳方法?
- 19. 初始化ArrayList和HashMap的最佳方法是什麼?
- 20. 初始化類成員的最佳方法是什麼?
- 21. 在Moose中創建類屬性的最佳方式是什麼?
- 22. 爲什麼未初始化的屬性在課堂上公開?
- 23. 在VB.NET中初始化類中的共享成員的最佳方式是什麼?
- 24. 最佳方式初始化活動ViewPager
- 25. 初始化Objective-C屬性的最佳實踐
- 26. MVC中Hibernate惰性屬性初始化的最佳實踐?
- 27. 在C#中定義和訪問所選屬性的最佳方式是什麼?
- 28. 在C#對象中實現動態屬性的最佳方式是什麼?
- 29. 初始化在C#中的屬性
- 30. 什麼是從數據庫初始化演員的最佳實踐方式
我很好奇你爲什麼認爲ctor不「簡單」? – RPM1984 2010-11-15 06:13:11
var myClass = new MyClass {Property1 = value1,Property2 = value2}; – 2010-11-15 06:17:16