Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 3028|Antwoord: 0

[Bron] .NET/C# collectie Any() of Count() die sneller is

[Link kopiëren]
Geplaatst op 28-06-2023 19:34:31 | | | |
Vereisten: Onlangs hebben mijn collega's in het projectteam de dataaantal() > 0 veranderd naar Any() om te beoordelen of er data in de collectie zit (niet de IQueryble-querydatabase), en vroegen vervolgens waarom het was aangepast (geoptimaliseerd), maar er kwam geen antwoord.

Gebruik benchmarks om te vergelijken welke van de volgende Any() en Count() sneller is.

Laten we beginnen met de conclusie (in .NET Framwork):Tellen > Any() > Count()In .NET 6 verschillen de prestaties van Count() en Any() niet veel, maar tochAny() wordt aanbevolen om te verzamelen of er gegevens zijn

De testcode is als volgt:


.NET Framework 4.8.1De benchmarkgegevens zijn als volgt:



.NET 6De benchmarkgegevens zijn als volgt:



Zei je dat niet in .NET Framwork Any() > Count() performance? Waarom is Count() sneller dan List? De reden hiervoor is dat de onderliggende Count()-methode van List het Count-veld oproept, zoals weergegeven in de onderstaande figuur:




(Einde)





Vorig:.NET/C# methodeparameter NULL null
Volgend:ASP.NET het verschil tussen ThreadStatic, CallContext en HttpContext
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com