Heim >Backend-Entwicklung >C++ >Ienumerable vs. List in C#: Wann sollten Sie welche auswählen?
Bei der Behandlung der Sammlung in C#ist der Unterschied zwischen
und sehr wichtig. IEnumerable
repräsentiert einen Enumerator, der eine Methode zum Durchqueren der Sammlung bietet. List
IEnumerable
Betrachten Sie die folgenden zwei LINQ -Abfragen: List
IEnumerable
<code class="language-csharp">List<animal> sel1 = (from animal in Animals join race in Species on animal.SpeciesKey equals race.SpeciesKey select animal).Distinct().ToList(); IEnumerable<animal> sel2 = (from animal in Animals join race in Species on animal.SpeciesKey equals race.SpeciesKey select animal).Distinct();</code>Bei Verwendung zeigt das Debuggen Mitgliedern wie "Inner" und "Outer", was möglicherweise verwirrend sein kann. "Innere" Mitglieder enthalten Objekte aus dem Verbindungssatz (Spezies) und "äußere" Mitglieder enthalten Objekte aus dem Anfangssatz (Tier). Fragen Sie diese Mitglieder mit diesen Mitgliedern ab, um den Verbindungsvorgang durchzuführen.
Leistungsüberlegungen
In Bezug auf die Leistung ist IEnumerable
normalerweise bevorzugen, da sie bis zur Aufzählung von Abfrage verzögert wird. Mithilfe von , um sofort zu berechnen und spezifische Ergebnisse zu erzwingen, kann dies die Optimierungsmöglichkeiten einschränken.
, aber wenn Sie mehrmals eine Abfrage ausführen müssen, wird sie in effizienter umgewandelt, da sie jedes Mal verhindern kann, dass die Abfrage berechnet wird.
Verwenden Sie Szene IEnumerable
ToList()
gilt für die folgende Situation:
List
möchte die Ausführung bis später verzögern.
Möchten Sie die Abfrageleistung optimieren. können mehrere Iterationen erforderlich sein.
IEnumerable
gilt für die folgende Situation:
Schlussfolgerung List
Das obige ist der detaillierte Inhalt vonIenumerable vs. List in C#: Wann sollten Sie welche auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!