myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   C# Stack.Reverse (https://mygully.com/showthread.php?t=2227941)

VincentVega8 09.02.11 15:31

C# Stack.Reverse
 
Hallo,

kann mir irgendjemand erklären wie die Reverse<> Erweiterung der Klasse Stack<T> funktioniert ?

Angenommen ich habe einfach:

Code:

Stack< int > myStack = new Stack< int >();
myStack.Push(1);
myStack.Push(2);
myStack.Push(3);
myStack.Push(4);

Und nun will ich mittels:

Code:

myStack.Reverse<>
die Reihenfolge der Elemente umdrehen.
Ich probiere nun schon ewig auf alle erdenklichen Weisen dieses Reverse zu implementieren, aber ich blick das mit dem IEnumerable einfach nicht. Entweder frissts der Kompiler erst gar nicht oder, wenn ers frisst, passiert einfach nichts...

Kann mir da jemand weiterhelfen ?

Grüße

Xalir 09.02.11 16:49

Code:

int[] reversedStack = Stack.Reverse(myStack).ToArray()
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] ist eine statische Funktion der Stack-Klasse.

Zitat:

aber ich blick das mit dem IEnumerable einfach nicht.
Was genau verstehst Du da nicht?

VincentVega8 10.02.11 08:13

Hi,

danke für die Antwort.

Code:

Stack.Reverse()
gibt es bei mir gar nicht. Auf der Klasse Stack gibts bloß "equals" und "synchronized". Auf Reverse kann ich nur zugreifen wenn ich meinen Stack selber nehme:

Code:

myStack.Reverse
und dann krieg ichs einfach nicht hin danach wieder einen Stack zu haben der einfach die umgedrehte Reihenfolge an Werten beinhaltet :(

Xalir 10.02.11 09:14

Also mal langsam. Erstens: Welches .NET-Framework verwendest Du? Reverse gibt es erst ab .NET 3.5.

Die kannst Du halt als statische Funktion aufrufen, wie in meinem Beispiel. Ansonsten geht es auch über die Objektinstanz wie Du es geschrieben hast.

Nur, was geht da nicht? Zeig mal den Codeteil, wo Du dies vorhast.

flotti 13.02.11 21:20

hmm ich würde sagen
myStack.Reverse();
die spitzen klammern sind für ein delegate


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:10 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.