Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 3028|Svar: 0

[Kilde] .NET/C#-samling Any() eller Count(), som er hurtigere

[Kopier link]
Opslået på 28/06/2023 19.34.31 | | | |
Krav: For nylig ændrede mine kolleger i projektteamet dataantal() > 0 til Any() for at vurdere, om der er data i samlingen (ikke IQueryble-forespørgselsdatabasen), og spurgte derefter, hvorfor det var ændret (optimeret), men der kom intet svar.

Brug benchmarks til at sammenligne, hvilken af følgende Any() og Count() der er hurtigst.

Lad os starte med konklusionen (i .NET Framwork):Tæl > Enhver() > Tæl()I .NET 6 er Count() og Any()-ydeevne ikke meget forskellige, men stadigAny() anbefales til indsamling af, om der findes data

Testkoden er som følger:


.NET Framework 4.8.1Benchmarkdataene er som følger:



.NET 6Benchmarkdataene er som følger:



Sagde du ikke det i .NET Framwork Any() > Count()-ydelse? Hvorfor er Count() hurtigere end List? Årsagen er, at den underliggende Count()-metode i List kalder Count-feltet, som vist i figuren nedenfor:




(Slut)





Tidligere:.NET/C# metodeparameter NULL null
Næste:ASP.NET forskellen mellem ThreadStatic, CallContext og HttpContext
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com