在类构造函数中,我实例化一个包含属性的列表:
public MDInstrument() : base()
{
// bidss = new TickData[] {Bid0};
Bids = new List<TickData> { Bid0, Bid1, Bid2, Bid3, Bid4, Bid5, Bid6, Bid7, Bid8, Bid9, Bid10, Bid0, Bid11, Bid13, Bid14, Bid15, Bid6, Bid17, Bid18, Bid19};
Offers = new List<TickData> { Ask0, Ask1, Ask2, Ask3, Ask4, Ask5, Ask6, Ask7, Ask8, Ask9, Ask10, Ask0, Ask11, Ask13, Ask14, Ask15, Ask6, Ask17, Ask18, Ask19};
}
该类中的方法更新列表中的对象,但为什么该对象始终为null?
我一定错过了什么
答案 0 :(得分:0)
您的问题是,以Bid {x}和Ask {x}开始尚未实例化,即它们为空,然后您存储对这些值的引用,当然引用为null。如果您稍后更新Bid0(例如),那么该引用会更新,但没有任何内容可以知道这是存储在您的集合中。
建议您将列表更改为固定已知大小的数组(此处为20),这将是所有空的开头。然后将各个Bid项的getter / setter访问器更改为内部实际的数组。那么您也不需要所有这些单独的Bid {x} / Ask {x}变量。