Heim >Backend-Entwicklung >C++ >Ienumerable vs. List in C#: Wann sollten Sie welche auswählen?

Ienumerable vs. List in C#: Wann sollten Sie welche auswählen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-29 04:46:141013Durchsuche

IEnumerable vs. List in C#: When Should You Choose Which?

Die Unterschiede und Leistungseffekte von iEnumerable und Liste in der C#

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

Das Arbeitsprinzip des Enumerators

<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:

  • Sie müssen verhindern, dass Abfragen mehrmals ausgeführt werden.
  • Möchten Sie bestimmte Sammlungsobjekte verwenden.
  • Sie müssen auf nicht verfügbare Mitglieder zugreifen.

Schlussfolgerung List

    Die Auswahl zwischen und
  • hängt von den spezifischen Anforderungen der Anwendung ab. Verwenden Sie für die verzögerte Ausführung und Leistungsoptimierung
  • .

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn