Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 3028|Antwort: 0

[Quelle] .NET/C#-Sammlung Any() oder Count(), was schneller ist

[Link kopieren]
Veröffentlicht am 28.06.2023 19:34:31 | | | |
Anforderungen: Kürzlich haben meine Kollegen im Projektteam die Datenanzahl() > 0 auf Any() geändert, um zu beurteilen, ob Daten in der Sammlung enthalten sind (nicht die IQueryble-Abfragedatenbank), und dann gefragt, warum sie (optimiert) geändert wurde, aber es gab keine Antwort.

Verwenden Sie Benchmarks, um zu vergleichen, welche der folgenden Any() und Count() schneller sind.

Beginnen wir mit der Schlussfolgerung (in .NET Framwork):Zähle > Any() > Count()In .NET 6 unterscheiden sich die Count()- und Any()-Performance nicht viel, aber dennochAny() wird empfohlen, um Daten zu sammeln, falls es Daten gibt.

Der Testcode ist wie folgt:


.NET Framework 4.8.1Die Benchmark-Daten sind wie folgt:



.NET 6Die Benchmark-Daten sind wie folgt:



Hast du das nicht in .NET Framwork Any() > Count() Performance gesagt? Warum ist Count() schneller als List? Der Grund dafür ist, dass die zugrundeliegende Count()-Methode von List das Count-Feld aufruft, wie in der untenstehenden Abbildung dargestellt:




(Ende)





Vorhergehend:.NET/C# Methodenparameter NULL null
Nächster:ASP.NET der Unterschied zwischen ThreadStatic, CallContext und HttpContext
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com