使用堆栈和队列(几乎按定义),您只能访问堆栈的顶部或队列的头部。这就是它们与区别的地方
List。(因此,这就是为什么您找不到一个的原因)
为了回答您可以编写自己的问题的方法,我可以通过从派生
ObservableCollection,然后在将实现
Push为
Insertat偏移量0
的堆栈中实现(并以pop的形式返回索引0,然后再
RemoveAt索引0);或者使用队列,您可以
Add将列表
Enqueue拖到的末尾,然后像抓取堆栈一样抓取并删除第一个项目
Dequeue。的
Insert,
Add并且
RemoveAt行动将在底层调用
ObservableCollection等原因
CollectionChanged被解雇的事件。
您可能还说您只是想绑定或在您应该有权访问的一项发生更改时收到通知。您将再次创建从Stack或Queue派生的自己的类,并在以下情况下手动触发CollectionChanged事件:
- 东西被推到堆栈上或从堆栈中弹出
- 某些东西从队列中出队
- 队列为空时,队列中有排队的东西



