2016-05-17 6 views
2

Ich kann keine Antwort auf die folgende „einfache“ Frage finden:Bleibt eine Liste in .NET geordnet?

Wenn ich Elemente einer Liste und setzen das Ganze in eine neue Liste bestellen,

var newList = new List<IMyElement>(myElements.OrderBy(x => x.AnyProperty)); 

wie kann ich sicher sein, , die Elemente in newList werden immer noch von AnyProperty zur Zugriffszeit sortiert?

Danke bis jetzt!

Antwort

3

Sobald Sie die Liste erstellt haben, behält sie die Sortierung für die vorhandenen Elemente bei. Alle neuen Objekte, die später mit .Add( hinzugefügt werden, werden nicht automatisch sortiert.

Wenn Sie neue Objekte wollen, die später hinzugefügt werden, automatisch sortiert werden Sie ein sorted collection Typ

+0

verwenden müssen, Danke Scott! –

+1

Beachten Sie, dass bei Verwendung von .Add das neue Element am Ende der Liste hinzugefügt wird. Sie können auch [.Insert] (https://msdn.microsoft.com/en-us/library/ms132411 (v = vs.110) .aspx) verwenden, um ein neues Element an einer bestimmten Position einzufügen. –