0

スタックを使用して、ユーザーにシンプルな「戻る」ボタンを提供しています。コレクションをスタックにプッシュし、彼が1つをヒットしたときに、コレクションを再びポップします。

今日はこれを少し拡張したいと思います。コレクションをスタックにプッシュするとき、コレクションと一緒に整数を格納します。次に、スタックを覗くときに、コレクションとその整数を取得します。

コレクションPLUSTHEINTEGERをスタックにプッシュするための最良の方法は何ですか?

コレクションと整数の構造体またはクラスを定義する必要がありますか?または他の方法ですか?

4

2 に答える 2

1

最も簡単ですぐに使えるソリューションは、現在のコンテナを整数で拡張することです。

public class StackElement : CustomerCollection
{ 
   public int Version {get; set;}
}

または整数で構成を作成します。

public class StackElement
{ 
   public CustomerCollection Customers {get; set;}
   public int Version {get; set;}
}

次に、スタックで他のものを使用するのと同じように使用します。

Stack<StackElement> stack = new Stack<StackElement>();
stack.Push(...)
var stackElement = stack.Pop();
于 2012-12-31T09:36:16.793 に答える
1

この目的のために新しいクラスを作成する必要はありません。このように、値をスタックに追加するだけです。

stack.Push(new KeyValuePair<int, Collection>(yourInteger, yourCollection));

そして、このようにそれらを取得します。

KeyValuePair<int, Collection> valueYouWant = stack.Pop();

valueYouWant.Key   --> Your integer
valueYouWant.Value --> Your collection
于 2013-01-02T11:47:34.673 に答える