.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:
// ...
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!