Kann ich die Tiefe eines generischen Stacks begrenzen?

Gibt es eine integrierte Möglichkeit, die Tiefe eines System.Collection.Generics.Stack zu begrenzen? Wenn Sie also mit maximaler Kapazität arbeiten, wird durch Drücken eines neuen Elements die Unterseite des Stapels entfernt?

Ich weiß, dass ich das tun kann, indem ich in ein Array konvertiere und den Stack neu aufbaue, aber ich dachte, es gibt wahrscheinlich schon eine Methode dafür.

EDIT: Ich habe eine Erweiterungsmethode geschrieben:

    public static void Trim<T> (this Stack<T> stack, int trimCount) 
    {
        if (stack.Count <= trimCount)
            return;

       stack = new 
            Stack<T>
            (
                stack
                    .ToArray()
                    .Take(trimCount)
            );           
    }

So gibt es beim Trimmen einen neuen Stapel zurück, aber es gibt keine funktionale Unveränderlichkeit =)

Der Grund dafür ist, dass ich Undo-Schritte für eine App in einem Stapel speichere und nur eine begrenzte Anzahl von Schritten speichern möchte.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage