我有一个包含两个列表一个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
是的,这种类型是一个结构是没有意义的。 –