如何使用C#在堆栈中获取当前索引
本文关键字:取当前索引 堆栈 何使用 | 更新日期: 2023-09-27 18:25:12
我已经在C#中的Stack中插入了值。我需要mystack[0],mystack[1]的值。如何做到这一点。我已经尝试了堆栈中的方法,但请给我代码提示,我会尝试
您可以为此使用ElementAt()
。
Stack<Int32> foo = new Stack<Int32>();
foo.Push(5); //element 1
foo.Push(1); //element 0
int val = foo.ElementAt(1); //This is 5
由于堆栈是最后一个先出的,如果你想获得添加到堆栈中的第一个项目,你可以使用:
int val = foo.ElementAt(foo.Count - 1);
请记住,ElementAt
是一个LINQ扩展方法,它将堆栈枚举为数组并返回所需的索引。对于大型堆栈或性能至关重要的情况,您可能需要考虑使用另一种数据结构,如List<T>
。
如果您需要按索引的项,那么List<T>
可能是更合适的数据结构?
堆栈只允许您获取最近插入的项。有一些方法可以绕过这种行为,但如果你需要按索引排列的项目,效果会更好:
var myList = new List<Int32>();
myList.Add(100);
myList.Add(200);
myList.Add(300);
myList.Add(400);
Console.Out.WriteLine(myList[2]); // Prints "300"