在CIF中是否有任何方法或方法在LIFO基础上添加List <T>中的项目?

Cic*_*ami 1 c# asp.net stack list

这是个简单的.我有一个List<T>C#,我想在LIFO基础上添加一些元素,所以在"底部" List<T>.由于几个原因,我无法使用Stack类.

谢谢

弗朗切斯科

Jam*_*are 6

是的,该Add()方法添加到列表的末尾,您可以使用RemoveAt(yourList.Count - 1)删除最后一个,并yourList[yourList.Count - 1]查看最后一个.

虽然我很好奇,为什么你不能使用Stack()类?

  • yourList [yourList.Count-1],除非它的VB和VB仍在使用基于1的数组... (2认同)
  • @clintp:很容易看出`List <T>`在Reflector中做了什么(或者如果你对IL好的话只是ILDasm).`List <T>`使用一个数组,当列表的大小超过数组大小时,将创建一个新数组.由于它是一个数组,因此插入意味着必须逐个复制插入索引处或之外的所有现有值.这是O(n) (2认同)

Ada*_*son 5

List<T>使用该Add方法添加到a的项目放在列表的末尾.如果要处理列表以使其为LIFO,则反向迭代(意味着您更改处理列表的方式)或始终用于Insert(0, item)向列表中添加元素(意味着您更改填充列表的方式).