linq und Array Order: Detaillierte Erläuterung, welche Methoden die Ordnung halten und welche Methoden nicht
behalten
Wenn Sie Linq zu Objektoperationen in sortierten Arrays verwenden, sollten Sie Operationen vermeiden, die die Reihenfolge des ursprünglichen Arrays brechen. Die folgende Analyse führt Sie:
Methode, um die Bestellung absolut zu halten:
]]
- assenumerable:
]
- Gießen:
- concat:
- Wählen:
- totarray:
- tolist:
Diese Methoden karten Quellelemente zu Elementen, während sie die Reihenfolge beibehalten.
Normalerweise bestellen:
]
- chary: filtern doppelte Elemente.
- außer: filtern Sie Elemente heraus, die in einer anderen Sequenz existieren.
- intersect: filterelemente, die zusammen in mehreren Sequenzen existieren.
- oftype: filterelemente basierend auf Typ.
- prepend (neu in .net 4.7.1): fügen Sie den angegebenen Wert vor dem Element hinzu.
- überspringen: überspringen Sie die angegebene Anzahl von Elementen.
- überspringen: überspringen Element, bis die angegebene Bedingung erfüllt ist.
- take: Gibt die angegebene Anzahl von Elementen zurück.
- nehmen: Gibt das Element zurück, bis die angegebene Bedingung erfüllt ist.
- wobei: filterelemente basierend auf Prädikat.
- ZIP (neu in .net 4): Fusion entsprechende Elemente in mehreren Sequenzen.
Methoden zur Zerstörung der Reihenfolge:
- toDictionary: Konvertieren Sie Elemente in Wörterbuch, was zu ungeordneten Sammlungen führt.
- tolookup: konvertieren Elemente in Suchtabellen, was zu ungeordneten Sammlungen führt.
Methode, um die Bestellung explizit neu zu definieren:
]
- orderBy: sortieren Elemente in aufsteigender Reihenfolge.
- orderByDescending: Sortieren Sie Elemente in absteigender Reihenfolge.
- reverse: reverse:
Reverse Element Order. -
thenby:
sortieren Elemente nach einem anderen Attribut, in der ursprünglichen Bestellung aufbewahren. -
thenByDescending:
Sortieren Sie Elemente in absteigender Reihenfolge eines anderen Attributs, in der ursprünglichen Reihenfolge.
Methode zur Neudefinition der Reihenfolge nach Regeln:
]]
-
GroupBy:
Schlüsselgruppierelemente, um die Reihenfolge der Elemente in jeder Gruppe aufrechtzuerhalten. -
GroupJin:
behält die Reihenfolge externer Quellen und Elemente in jeder Gruppe basierend auf Schlüsselverbindungen bei. -
Join:
Verbinden Sie Elemente basierend auf Schlüssel, um die Reihenfolge interner und externer Elemente aufrechtzuerhalten. -
selectMany:
generiert eine Reihe von Sequenzen, die Elemente in jeder Sequenz in einer unvorhersehbaren Reihenfolge kombinieren. -
Union:
verschmelzen mehrere Sequenzen und generieren Elemente in der Reihenfolge der bereitgestellten Sequenz.
Durch das Verständnis dieser Nuancen können Sie die erforderliche Reihenfolge des Arrays bei der Durchführung von Linq -Operationen aufbewahren und seine Integrität für die weitere Verarbeitung oder Anzeige sicherstellen.