Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

I metodi extension Any e Count: questione di performance (in VB)

Se avete avuto modo di usare LINQ nelle sue varie forme, sapete che esistono due metodi extension chiamati rispettivamente Any e Count.

Any restituisce True se la collezione contiene almeno un elemento, mentre Count restituisce il numero di elementi nella collezione.

Spesso, soprattutto perché erditiamo un certo approccio da altri contesti dove esiste una proprietà Count ma non un equivalente di Any, per sapere se la collezione contiene elementi si scrive erroneamente:

If Collezione.Count > 0 Then ...

In questo modo, però, Count deve muovere l'enumeratore per tutti gli elementi della collezione. Quindi, se la collezione contiene pochi elementi il discorso cambia poco, ma se voglio semplicemente verificare che la collezione contenga almeno un elemento non è conveniente, soprattutto perché potrebbe contenere migliaia di elementi.

Scrivendo invece:

If Collezione.Any Then...

L'enumeratore viene spostato solo di una volta, sufficiente a capire se la collezione contiene almeno un elemento, senza necessità di contarli tutti.

A livello di performance, quindi, Any è da preferire. Chiaramente utilizzeremo Count solo quando abbiamo la necessità di conoscere il numero esatto di elementi.

Alessandro

Print | posted on giovedì 7 luglio 2011 17:30 | Filed Under [ Visual Basic ]

Powered by:
Powered By Subtext Powered By ASP.NET