2017-11-17 2 views
0

Welche Sammlung ist besser, Datensätze an erster Stelle einzufügen. Ich weiß, LinkedList ist besser, aber es dauert mehr Speicher als list. Ich habe ein Raster, in dem ich ungefähr 200.000 Datensätze in absteigender Reihenfolge einfügen muss. Es ist ein Echtzeit-Raster, in dem Trades eingefügt werden. FYI. Ich benutze DevExpress Grid und meine Anwendung ist in WPF.Sammlungen, um den Datensatz an der Nullposition einzufügen

+1

Warum nicht Sie tun so etwas wie '' neue Liste (otherList.OrderByDescending()) '', anstatt zu versuchen, jedes Element individualy an erster Stelle hinzufügen? –

+0

Ich denke, die Erstellung neuer Liste bei der Hinzufügung jedes einzelnen Elements wird langsam sein. –

+0

Sorry, aber ich verstehe Ihren Satz nicht vollständig? - Aber nach dem, was ich verstanden habe - warum würdest du sowohl eine neue Liste erstellen als auch Gegenstände hinzufügen? Ich habe versucht, Ihnen einen Weg zu zeigen, der die Notwendigkeit des Hinzufügens von Elementen zur Liste beseitigt, indem Sie die gesamte Liste auf einmal initialisieren, was schneller ist, als sie einzeln hinzuzufügen? - Deshalb habe ich den Konstruktor benutzt, um eine Liste mit einem '' OrderByDescending() '' zu übergeben, da Sie sagten, dass Sie es in absteigender Reihenfolge haben möchten. - Da Sie nicht angegeben haben, wo Sie Ihre über 200.000 Datensätze erhalten, habe ich die einfache Lösung gefunden, 'otherList.OrderByDescending()' zu sagen –

Antwort

0

Ich bin mir nicht sicher, ob ich Ihre Frage vollständig verstehe, aber es scheint, als ob Sie eine Datenstruktur möchten, die Sie in der Reihenfolge LIFO (last in first out) durchlaufen können.

Vorausgesetzt, dies ist der Fall, hat eine Stapeldatenstruktur LIFO-Verhalten.

public class Model 
{ 
    readonly Stack<object> _stack = new Stack<object>(); 

    public void InsertRecord(object record) 
    { 
     _stack.Push(record); 
    } 

    public IEnumerable<object> Enumerate() 
    { 
     return _stack.AsEnumerable(); 
    } 
} 
Verwandte Themen