Heim > Backend-Entwicklung > C++ > Wie kann ich Elemente in einem IEnumerable ohne Iteration zählen?

Wie kann ich Elemente in einem IEnumerable ohne Iteration zählen?

DDD
Freigeben: 2024-12-27 10:11:16
Original
861 Leute haben es durchsucht

How Can I Count Items in an IEnumerable Without Iteration?

Elemente in einem IEnumerable zählen Ohne Iteration

Beim Arbeiten mit einer Sequenz ist es oft notwendig, die Gesamtzahl der Elemente zu bestimmen, bevor man sie durchläuft. IEnumerable bietet keinen direkten Mechanismus zum Zählen von Elementen ohne Iteration.

Zählen ohne Iteration

Um eine Elementzählung ohne Iteration zu erreichen, beachten Sie Folgendes:

  • ICollection: Wenn Ihre Datenquelle implementiert ICollection können Sie direkt auf die Count-Eigenschaft zugreifen. ICollection stellt eine Sammlung dar, die effizient gezählt werden kann.

Beispiel

Gegeben die folgende Tables-Eigenschaft:

private IEnumerable<string> Tables
{
    get
    {
        yield return "Foo";
        yield return "Bar";
    }
}
Nach dem Login kopieren

Ohne Iteration, Sie kann ICollection um die Elemente zu zählen:

var count = (Tables as ICollection<string>).Count;
Console.WriteLine($"You'll process {count} tables");
Nach dem Login kopieren

Hinweis:

  • IEnumerable betont die verzögerte Auswertung, was bedeutet, dass Elemente nur auf Anfrage abgerufen werden.
  • ICollection unterstützt die direkte Zählung aufgrund seiner effizienten Sammlungsdarstellung. Wählen Sie diese Option, wenn die Artikelzählung eine kritische Leistungsanforderung ist.

Das obige ist der detaillierte Inhalt vonWie kann ich Elemente in einem IEnumerable ohne Iteration zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage