Comparatori

I comparatori, anche detti operatori di confronto, hanno la funzione di indicare il criterio di ordinamento degli oggetti presi in esame in una determinata lista.
Se si tratta di una lista di numeri il comando sort(lista) li posiziona in ordine crescente, mentre se si tratta di una lista di stringhe le mette in ordine alfabetico.

Il comparatore deve essere definito in una classe e successivamente inserito come input all’interno del comando sort.

Esistono due particolari interfacce nel programma Visual Basic, che ci aiutano nel processo di ordinamento:  IComparer e Icomparable.


Queste due interfacce hanno obiettivi leggermente diversi ma possono anche essere utilizzate insieme.

IComparer:

L’interfaccia Icomparer viene utilizzata nel metodo sort di una lista in quanto consente di cambiare di volta in volta i criteri di ordinamento in maniera versatile, semplicemente fornendo come argomento dei “comparer” differenti, a seconda dell’obiettivo da perseguire.
È possibile con questa interfaccia ad esempio, ordinare la classe su diversi campi o proprietà, nell’ordine crescente o decrescente in base allo stesso campo o entrambi.

IComparable:

L’interfaccia IComparable fornisce un metodo per confrontare due oggetti di un determinato tipo, si utilizza questa interfaccia se si ha intenzione di ordinare gli oggetti.
Se si dispone di una matrice di oggetti di un certo tipo e si utilizza il metodo di ordinamento su tale matrice, è possibile utilizzare l’interfaccia IComparable per confrontare gli oggetti durante l’ordinamento. 
Quando si implementa l’interfaccia IComparable , è necessario implementare anche il metodo CompareTo.


Lascia un commento