MC, 11:25 piątek, 13.06.2014 r.
Ilustracja do artykułu: .NET - Jak najprościej porównywać tablice i kolekcje?

.NET - Jak najprościej porównywać tablice i kolekcje?

Króciutko o najprostszym ze sposobów na porównywanie wszelkiego rodzaju kolekcji i tablic w .NET Framework.

Jak najprościej porównać dowolną kolekcję bądź tablicę?

Chęć porównania kolekcji czy tablicy nie jest specjalnie wyszukania i raczej można stwierdzić, że to chleb powszedni programisty. Nie dziwota więc, że chciałoby się robić to jak najszybciej, czyli niekoniecznie iterując je w sposób jawny, a może raczej przez użycie jakiejś gotowej implementacji. Pytanie więc czy taka, już przygotowana metoda istnieje. Nie inaczej!

Po dołączeniu przestrzeni nazw System.Linq do tych używanych przez klasę w obrębie której płodzimy kod, uzyskujemy dostęp do obiektu Enumerable i jego statycznej metody SequenceEqual:

using System.Linq;

// ...

bool rowne = Enumerable.SequenceEqual(kolekcja1, kolekcja2);

Jak widzimy, wspomniana metoda zwraca nam wartość logiczną, mówiącą o tym czy przekazane do niej kolekcje są sobie równe. Jako argumenty możemy przesłać dowolną implementację interfejsu IEnumerable. Warto również wspomnieć, że jeżeli mamy do czynienia z kolekcją obiektów złożonych, jeśli chcemy aby porównanie w ten sposób zadziałało, należy wcześniej tym obiektom zaimplementować metodę Equal(), która jest wywoływana przez SequenceEqual().

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: