Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 3028|Odpowiedź: 0

[Źródło] .NET/C# kolekcja Any() lub Count(), która jest szybsza

[Skopiuj link]
Opublikowano 28.06.2023 19:34:31 | | | |
Wymagania: Ostatnio moi koledzy z zespołu projektu zmienili liczbę danych() > 0 na Any(), aby ocenić, czy dane są w kolekcji (nie w bazie zapytań IQueryble), a potem zapytali, dlaczego zostały zmienione (zoptymalizowane), ale nie było odpowiedzi.

Użyj benchmarków, aby porównać, który z poniższych Any() i Count() jest szybszy.

Zacznijmy od wniosku (w .NET Framwork):Count > Any() > Count()W .NET 6 wydajność Count() i Any() nie różnią się znacząco, ale mimo toAny() jest zalecany do zbierania danych, czy są dane

Kod testu jest następujący:


.NET Framework 4.8.1Dane benchmarkowe przedstawiają się następująco:



.NET 6Dane benchmarkowe przedstawiają się następująco:



Czy nie mówiłeś, że w .NET Framwork Any() > Count() wydajność? Dlaczego Count() jest szybszy niż List? Powodem jest to, że podstawowa metoda Count() w List wywołuje pole Count, jak pokazano na poniższym rysunku:




(Koniec)





Poprzedni:.NET/C# parametr metody NULL null
Następny:ASP.NET różnica między ThreadStatic, CallContext i HttpContext
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com