![](/img/trans.png)
[英]What's the proper way to set up a class to initialize public variables in c#?
[英]What's the best way to initialize a public property in C#?
我需要給屬性賦初始值,我想知道是否有比使用構造函數更簡單的方法。
您是否正在使用自動實現的屬性? 值類型屬性將被初始化為其默認值。 引用類型將初始化為null。
如果您希望它們將它們初始化為其他類型,我認為最好的選擇是在構造函數中進行設置。
如果您不使用自動實現的屬性,則可以在聲明它們的地方對其進行初始化。
記住對象字段和構造函數的初始化順序也很有用。
如果要利用自動屬性,則構造函數是最簡單的方法。 如果不是,則您的成員變量可以定義默認值。
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; }
}
我想對此有所不同。 如果該值是創建實例所必需的值,則它必須是構造函數的參數。
但是,如果該值是可選的,則可以通過屬性進行設置。
好的構造函數最適合這樣做。 您怎么也可以調用方法。
還要檢查以下鏈接初始化C#自動屬性
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.