Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 3028|Svar: 0

[Källa] .NET/C#-samling Any() eller Count() som är snabbare

[Kopiera länk]
Publicerad på 2023-06-28 19:34:31 | | | |
Krav: Nyligen ändrade mina kollegor i projektteamet dataräkningen() > 0 till Any() för att bedöma om det finns data i samlingen (inte IQueryble-frågedatabasen), och frågade sedan varför den ändrades (optimerad), men det fanns inget svar.

Använd benchmarks för att jämföra vilka av följande Any() och Count() som är snabbast.

Låt oss börja med slutsatsen (i .NET Framwork):Räkna > Någon() > Räkna()I .NET 6 skiljer sig inte Count() och Any()-prestanda så mycket, men ändåAny() rekommenderas för insamling om det finns data

Testkoden är följande:


.NET Framework 4.8.1Referensdata är följande:



.NET 6Referensdata är följande:



Sa du inte att i .NET Framwork Any() > Count()-prestanda? Varför är Count() snabbare än List? Anledningen är att den underliggande Count()-metoden i List anropar Count-fältet, som visas i figuren nedan:




(Slut)





Föregående:.NET/C#-metodparametern NULL null
Nästa:ASP.NET skillnaden mellan ThreadStatic, CallContext och HttpContext
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com