Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 3028|Odpoveď: 0

[Zdroj] .NET/C# kolekcia Any() alebo Count(), čo je rýchlejšie

[Kopírovať odkaz]
Zverejnené 28. 6. 2023 19:34:31 | | | |
Požiadavky: Nedávno moji kolegovia z projektového tímu zmenili počet dát() > 0 na Any(), aby posúdili, či sú dáta v kolekcii (nie v databáze IQueryble), a potom sa pýtali, prečo sa to zmenilo (optimalizovalo), ale odpoveď neprišla.

Použite benchmarky na porovnanie, ktorý z nasledujúcich Any() a Count() je rýchlejší.

Začnime záverom (v .NET Framwork):Count > Any() > Count()V .NET 6 sa výkon Count() a Any() veľmi nelíšia, ale aj takAny() sa odporúča na zhromažďovanie údajov, či existujú údaje

Testovací kód je nasledovný:


.NET Framework 4.8.1Referenčné údaje sú nasledovné:



.NET 6Referenčné údaje sú nasledovné:



Nepovedal si, že v .NET Framwork Any() > Count() výkon? Prečo je Count() rýchlejší ako List? Dôvodom je, že základná metóda Count() v Zozname volá pole Count, ako je znázornené na obrázku nižšie:




(Koniec)





Predchádzajúci:.NET/C# parameter metódy NULL null
Budúci:ASP.NET rozdiel medzi ThreadStatic, CallContext a HttpContext
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com