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";
}
}
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");
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!
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