设置时未更改的属性列表

时间:2017-11-23 12:39:46

标签: c# list properties

在类构造函数中,我实例化一个包含属性的列表:

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?

enter image description here

我一定错过了什么

enter image description here

1 个答案:

答案 0 :(得分:0)

您的问题是,以Bid {x}和Ask {x}开始尚未实例化,即它们为空,然后您存储对这些值的引用,当然引用为null。如果您稍后更新Bid0(例如),那么该引用会更新,但没有任何内容可以知道这是存储在您的集合中。

建议您将列表更改为固定已知大小的数组(此处为20),这将是所有空的开头。然后将各个Bid项的getter / setter访问器更改为内部实际的数组。那么您也不需要所有这些单独的Bid {x} / Ask {x}变量。