答えて
あなたはLINQを使用してそれを達成することができます
Stack<int> stack = new Stack<int>();
stack.Push(1);
stack.Push(2);
stack.Push(3);
stack.Push(4);
int top = stack.ElementAt(0); // Returns 4
int next = stack.ElementAt(1); // Returns 3
あなたはyouselfはインデックスにより、スタック上の要素にアクセスしようとして発見した場合しかし、あなたは確かに間違って何かをやっている、とソリューションを再設計する必要があります。
Matiasが示すように、ElementAt()を使用することは可能です。 Peekを使用して、上に何が表示されているかを確認することもできます。また、配列に変換し、そのようにインデックスで値を取得することもできます。
var s = new Stack<int>();
s.Push(1);
s.Push(2);
var value = s.ToArray()[1];
あなたはこれが賢明かどうかを尋ねる必要があります。ある時点でスタックのスナップショットを取得するだけで可能なのはこれだけです。考慮する同時実行性の問題もあります。
UPDATE:
マティアスと私は非常によく似た答えを思い付いたように思えます。彼の質問は何を求めているのか、より正確な答えです。 ToArray()アプローチは、より安定したスナップショットを提供します。後でElementAt()を呼び出すと、さまざまな回答が得られ、呼び出しの間にスタックがポップされた場合に例外がスローされることがあります。
'ElementAt'を実行することで可能です – TheDude
ElementAt(Int32)メソッドまたはElementAtOrDefault(Int32)メソッドを呼び出すことで、スタックの要素をインデックスで選択することができます。
あなたがC#に新しいしている場合は注意点として、常に
1で答えを探してみてください)MSDN 2)referencesource.microsoft.com
それは多くの場合、道より速く、より信頼性の高いです、その後の情報を探してくださいSO =)
- 1. idを使用してインデックスを取得する方法は?
- 2. C++でアンドロイドツールチェインを使ってパッケージ名を取得する方法は?
- 3. C#を使用してスタック内の現在のインデックスを取得する方法
- 4. pyspark mllib IndexedRowMatrix型インデックスを使って項目を取得する方法
- 5. C#のインデックスでサブアイテムからテキスト値を取得する方法
- 6. javascriptを使用して要素インデックスを取得する方法
- 7. Cプログラムを使ってlinuxのインターフェースのMACアドレスを取得する方法は?
- 8. C++を使ってOMNet ++のcModuleからcSimpleModuleを取得する方法は?
- 9. C#を使ってLeap Motionで指の位置を取得する方法
- 10. C#のリストボックスのインデックスからテキスト値を取得する方法
- 11. vbaを使用して行インデックスを知っているテーブルから行配列を取得する方法は?
- 12. ドロップダウンリストのインデックスを取得する方法
- 13. jqueryを使ってdivの幅を取得する方法は?
- 14. ng2-bootstrapを使ってポップアップウィンドウを取得する方法は?
- 15. oAuthを使ってFacebookのログインページを取得する方法は?
- 16. pysnmpを使ってSNMPデータを取得する方法は?
- 17. mootoolsを使ってulの数を取得する方法は?
- 18. mxnet.jlとJuliaを使ってグラデーションノードを取得する方法は?
- 19. javaを使ってローカルシステムのサブネットマスクを取得する方法は?
- 20. PHPを使ってhtmlタグを取得する方法は?
- 21. ssjsを使ってクッキーのパスを取得する方法は?
- 22. regexpを使ってlaravelで製品を取得する方法
- 23. C#を使ってAutocadファイルのラベル名を取得する方法
- 24. CのReflectionを使ってExpressionのObject.Valueを取得する方法#
- 25. divのidとしてインデックス値を取得する方法は?
- 26. Watir Webdriverを使用して親要素のインデックスを取得する方法は?
- 27. Jqueryで子要素をインデックスで取得する方法は?
- 28. インデックスを持つキーの値を取得する方法は? NSDict(Objective Cの)
- 29. numpy配列を使ってインデックスをスライスする方法は?
- 30. C++でcin.get()を使って行末の文字を取得しない方法
私は間違っているかもしれませんが、C#のスタックは配列として実装され、2つの位置の変数startとend(https://msdn.microsoft.com/en-us/library/ms379571(v=vs.80) ).aspx)。 これが真実であれば、単純な配列の場合と同様にインデックスで要素を取得するのは問題ではありません。 さらに言えば、Stack自体にこのようなメソッドがないことに驚き、Linq拡張を使用してそれを行う必要があります。 –