Geschwindigkeit von C # -Listen
Sind C# - Listen schnell? Was sind die guten und die schlechten Seiten mit Listen für den Umgang mit Objekten?
Umfangreiche Verwendung von Listen wird die software langsamer? Was sind die alternativen Listen in C#?
Wie viele Objekte "zu viele Objekte" für die Listen?
InformationsquelleAutor der Frage George Silva | 2009-09-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
List<T>
verwendet, die als backing-array, um Einzelteile zu halten:Generell ist es in Ordnung zu verwenden, Listen relativ umfangreich. Wenn Sie wissen, die endgültige Größe, wenn Sie beginnen, füllen eine Liste, es ist eine gute Idee, verwenden Sie den Konstruktor, der Sie festlegen können, die Fähigkeit, zu vermeiden, ändern der Größe. Darüber hinaus: wenn Sie besorgt sind, brechen aus dem profiler...
InformationsquelleAutor der Antwort Jon Skeet
Im Vergleich zu was?
List<T>
dann ist das im wesentlichen ein wrapper um ein array; so schnell Lesen/schreiben von index relativ schnell append (da Sie es ermöglicht, zusätzliche Leerzeichen am Ende, verdoppeln Sie in Größe, wenn nötig) und entfernen Sie aus dem Ende, aber teurer, andere Operationen (einfügen/löschen von anderen als das Ende)Dictionary<,>
etc bieten einen besseren Zugang durch SchlüsselEiner Liste ist nicht intrinsisch langsam ist; vor allem, wenn Sie wissen, dass Sie immer benötigen, zu betrachten, alle Daten, oder Sie können darauf zugreifen, indem index. Aber für große Listen ist es vielleicht besser (und bequemer) Suche über einen Schlüssel. Es gibt verschiedene Wörterbuch-Implementierungen .NET, die jeweils mit unterschiedlichen Kosten neu Größe /Leistung.
InformationsquelleAutor der Antwort Marc Gravell