2016-08-13 3 views
2

Ich versuche zu entscheiden, was die beste Lösung für "zuletzt verwendete" Sammlung ist. Intuitiv ist es weder LIFO noch FIFO. soweit "Elemente" entfernt werden, ist es FIFO; aber soweit "retrieving" ist es LIFO. Daher haben sowohl die Warteschlange als auch der Stapel einige Einschränkungen.C# Collection für "zuletzt verwendet"

Oder überlege ich diese ganze Sache und sollte einfach zu Arrays oder Listen bleiben?

+0

Ein 'Stack ' ist sehr nützlich für UI, da die Länge nicht zu lang ist, so dass Sie immer 'stack = new Stack (stack.Skip (1));' von vorne verwenden können. – Enigmativity

Antwort

4

Ich würde vorschlagen, eine LinkedList-Sammlung. Die LinkedList enthält Verweise auf den ersten und letzten Knoten in der Liste (wodurch Sie effektiv in der LRU/MRU-Reihenfolge reisen können). Es hat auch AddFirst und Methoden, so dass Sie den Wert entfernen und verschieben können, wenn ein Wert aus der Liste verwendet wird. MSDN

+0

Danke! Hab nicht darüber nachgedacht :) – Felix

+1

[Hier] (https://www.informit.com/guides/content.aspx?g=dotnet&seqNum=625) eine Implementierung – thepirat000

Verwandte Themen