Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 3028|Vastaus: 0

[Lähde] .NET/C#-kokoelma Any() tai Count(), joka on nopeampi

[Kopioi linkki]
Julkaistu 28.6.2023 19.34.31 | | | |
Vaatimukset: Äskettäin projektitiimin kollegani muuttivat datan count() > 0 arvoksi Any() arvioidakseen, onko kokoelmassa dataa (ei IQueryble-kyselytietokannassa), ja kysyivät sitten, miksi se muutettiin (optimoitu), mutta vastausta ei tullut.

Käytä vertailuja vertaillaksesi, kumpi seuraavista Any() ja Count() on nopeampi.

Aloitetaan johtopäätöksestä (.NET Framworkissa):Count > Any() > Count().NET 6:ssa Count() ja Any() -suorituskyky eivät eroa paljoa, mutta siltiSuositellaan any() datan keräämistä varten

Testikoodi on seuraava:


.NET Framework 4.8.1Vertailutiedot ovat seuraavat:



.NET 6Vertailutiedot ovat seuraavat:



Etkö sanonut sitä .NET Framwork Any() > Count() -suorituskyvyssä? Miksi Count() on nopeampi kuin List? Syynä on se, että Listan taustalla oleva Count()-metodi kutsuu Count-kenttää, kuten alla olevassa kuvassa on esitetty:




(Loppu)





Edellinen:.NET/C# metodiparametri NULL null
Seuraava:ASP.NET ero ThreadStaticin, CallContextin ja HttpContextin välillä
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com