Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3028|Odgovoriti: 0

[Vir] .NET/C# zbirka Any() ali Count(), ki je hitrejša

[Kopiraj povezavo]
Objavljeno na 28. 06. 2023 19:34:31 | | | |
Zahteve: Nedavno so moji kolegi v projektni ekipi spremenili število podatkov() > 0 v Any(), da bi ocenili, ali so podatki v zbirki (ne v IQueryble bazi poizvedb), nato pa vprašali, zakaj je bilo to spremenjeno (optimizirano), a ni bilo odgovora.

Uporabite benchmarke, da primerjate, kateri od naslednjih Any() in Count() je hitrejši.

Začnimo s zaključkom (v .NET Framworku):Štejte > Any() > Count()V .NET 6 se zmogljivost Count() in Any() ne razlikujeta bistveno, a vseenoAny() je priporočljiv za zbiranje podatkov

Testna koda je naslednja:


.NET Framework 4.8.1Referenčni podatki so naslednji:



.NET 6Referenčni podatki so naslednji:



Ali nisi rekel, da v .NET Framwork Any() > Count() zmogljivosti? Zakaj je Count() hitrejši od List? Razlog je, da osnovna metoda Count() v Listu kliče polje Count, kot je prikazano na spodnji sliki:




(Konec)





Prejšnji:.NET/C# parameter metode NULL null
Naslednji:ASP.NET razliko med ThreadStatic, CallContext in HttpContext
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com