我已經在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. 如何通過c#中的索引獲取堆棧項?
- 3. 我如何獲得所有當前堆棧幀的f_globals屬性
- 4. 如何找到當前的堆棧?
- 5. 如何在OpenGL中獲取矩陣堆棧的當前大小?
- 6. 如何獲得StackOverflowError的完整堆棧
- 7. 如何獲得堆棧跟蹤C++中的Android
- 8. JTextArea - 如何獲得當前行的第一個索引?
- 9. 如何獲得當前單元格的索引
- 10. 如何使用Jquery獲取我的表的當前行索引?
- 11. 使用C++,如何獲取msvc中堆棧指針的值X64
- 12. C++(GCC):未定義的引用`堆棧<int> ::堆棧(INT)」
- 13. C++:使用堆棧
- 14. FoxPro中如何獲得調用堆棧信息的記錄
- 15. 如何在Visual Studio 2005中獲得完整的調用堆棧?
- 16. 如何獲得使用當前應用
- 17. 索引混淆堆棧LIFO
- 18. 獲取preg_replace_callback中的當前索引?
- 19. 如何在windows中獲取c中的調用堆棧?
- 20. 如何獲得當前索引點擊angular2
- 21. 在堆棧的ArrayList中,如果堆棧爲空,爲什麼索引不正確?
- 22. 如何清除堆棧中的當前活動?
- 23. 如何獲得當前幀,使用FFMpeg
- 24. 我如何獲得堆疊面板的實際當前高度?
- 25. 前綴中的堆棧
- 26. Java,我如何獲得當前的索引/鍵在「for each」循環中
- 27. 如何在設計應用程序時獲得適當的錯誤堆棧?
- 28. 從C中的任何線程獲取調用堆棧C
- 29. 如何使用jCarousel Lite獲取當前索引?
- 30. 如何獲得具有類的元素的當前索引? (JQuery的)
FYI,語言被命名爲「C#」而不是「CSharp」 – 2012-02-20 02:30:33