5

Delphi XE2 では、呼び出し元のコードがトップ (Peek 経由) だけでなく、トップ 1、トップ 2 などにもアクセスできる汎用オブジェクト スタックが必要です。

既存の System.Generics.Collections クラスを使用してそれを実現する簡単な方法をまだ見つけていません。また、TObjectStack の FItems は TStack ではプライベートであるため、それにアクセスできる TObjectStack の子孫を作成する簡単な方法はありません。

ToArray を使用してインデックスでアイテムにアクセスできることはわかっていますが、FItems の単一のアイテムにアクセスするためだけに時間とスペースの無駄に見える別の配列が作成されます。

何か案は?

4

1 に答える 1

4

TObjectList代わりに使用してください。必要なすべての要素にアクセスでき、スタックの一番上として処理したい端で要素を変更できます。

于 2013-09-22T02:01:32.567 に答える