Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 3028|Odpověď: 0

[Zdroj] .NET/C# kolekce Any() nebo Count(), což je rychlejší

[Kopírovat odkaz]
Zveřejněno 28.06.2023 19:34:31 | | | |
Požadavky: Nedávno moji kolegové z projektového týmu změnili počet dat() > 0 na Any(), aby posoudili, zda jsou data v databázi (ne v databázi dotazů IQueryble), a pak se zeptali, proč to bylo změněno (optimalizováno), ale nedostali odpověď.

Použijte benchmarky k porovnání, která z následujících Any() a Count() je rychlejší.

Začněme závěrem (v .NET Framwork):Count > Any() > Count()V .NET 6 se výkon Count() a Any() příliš neliší, ale přestoAny() je doporučen pro sběr dat

Testovací kód je následující:


.NET Framework 4.8.1Referenční data jsou následující:



.NET 6Referenční data jsou následující:



Neříkal jsi, že v .NET Framwork Any() > Count() výkonu? Proč je Count() rychlejší než List? Důvodem je, že základní metoda Count() v Listu volá pole Count, jak je znázorněno na obrázku níže:




(Konec)





Předchozí:.NET/C# parametr metody NULL null
Další:ASP.NET rozdíl mezi ThreadStatic, CallContext a HttpContext
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com