我有一個包含兩個列表一個struct
:有沒有一種方法來初始化一個struct的成員,而無需使用構造函數?
struct MonthData
{
public List<DataRow> Frontline;
public List<DataRow> Leadership;
}
不過,我要來初始化創建結構時。如果我嘗試:
struct MonthData
{
public List<DataRow> Frontline = new List<DataRow>();
public List<DataRow> Leadership = new List<DataRow>();
}
然後我得到:
Error 23 'MonthData.Frontline': cannot have instance field initializers in structs
...
由於結構不能有參數構造函數,我不能只設置這個在構造函數中無論是。到目前爲止,我只能看到如下選項:
- 當我創建MonthData的實例
- 使用類,而不是一個結構
- 帶參數創建一個構造函數和使用初始化兩個屬性
- 讓getter和setter方法是初始化它們懶洋洋地 的屬性。
,這是什麼建議的方法?現在,我想讓這個班是最好的主意。
讓它成爲一個類。一旦將引用類型添加到結構中,它實際上不再是值類型。 – drdwilcox
是否真的可以使它成爲引用類型(類)與值類型(結構)?如果是,請繼續並將其設爲一堂課。 – BoltClock
是的,這種類型是一個結構是沒有意義的。 –