我已經在C#中將值插入堆棧。我需要mystack [0],mystack [1]的值。怎麼做。我已經嘗試了方法堆棧,但請給我提示的代碼,我會嘗試如何獲得使用C#的堆棧中的當前索引#
回答
如果你需要通過索引的項目,也許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"
除列表以外,是否有任何方法稱爲stack.getindex [0]或任何其他 – user1220052 2012-02-20 02:10:39
不在內置堆棧中。您需要將其轉換爲數組或列表來執行此操作。有這樣的內置方法:'myStack.toArray()'或LINQ'ToList()'擴展方法。 – 2012-02-20 02:14:14
kk mystack.to Array() – user1220052 2012-02-20 02:16:37
您可以使用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>
。
這是利用IEnumerable上的LINQ擴展方法。應該讓OP瞭解正在進行的體操運動以實現這一目標。 – 2012-02-20 02:17:16
thnkx你所以邁克這是非常有幫助 – user1220052 2012-02-20 02:18:24
@ChrisShain - 是的,絕對是一個有效的點.. – 2012-02-20 02:18:59
- 1. 如何獲得當前堆棧級別
- 2. madExcept,獲得當前堆棧頂部
- 3. 如何通過c#中的索引獲取堆棧項?
- 4. 我如何獲得所有當前堆棧幀的f_globals屬性
- 5. 如何檢索當前運行的函數堆棧的堆棧跟蹤?
- 6. 如何找到當前的堆棧?
- 7. 獲取當前調用堆棧
- 8. 如何在OpenGL中獲取矩陣堆棧的當前大小?
- 9. 如何獲得StackOverflowError的完整堆棧
- 10. 如何獲得堆棧跟蹤C++中的Android
- 11. 如何獲得當前索引中的陣列,同時在循環C#
- 12. 獲取對當前堆棧中的視圖控制器的引用
- 13. 如何獲取Python解釋器堆棧的當前深度?
- 14. 如何從UINavigationController獲取堆棧的當前頂端?
- 15. 使用C++,如何獲取msvc中堆棧指針的值X64
- 16. JTextArea - 如何獲得當前行的第一個索引?
- 17. 如何獲得當前單元格的索引
- 18. 如何使用Jquery獲取我的表的當前行索引?
- 19. 退出當前調用堆棧的Javascript
- 20. 如何獲得當前顯示的Tab鍵索引使用jQuery 1.7.2
- 21. C++(GCC):未定義的引用`堆棧<int> ::堆棧(INT)」
- 22. 如何在當前索引中拼接當前索引?
- 23. 如何在C++和Unix中獲得堆棧溢出?
- 24. C++:使用堆棧
- 25. 我怎樣才能獲得堆棧上當地人和參數的當前值?
- 26. 在C++中使用堆棧
- 27. 如何獲得堆棧跟蹤
- 28. FoxPro中如何獲得調用堆棧信息的記錄
- 29. 如何在Visual Studio 2005中獲得完整的調用堆棧?
- 30. 如何獲得使用當前應用
FYI,語言被命名爲「C#」而不是「CSharp」 – 2012-02-20 02:30:33