Przejdź do treści głównej
INF.04Pytanie #167 z 856interfejsy-i-klasy-abstrakcyjne

Z której kolekcji należy skorzystać, aby przechowywać dane związane z elementem interfejsu użytkownika tak, aby element był ten informowany przez kolekcję o dodaniu, usunięciu lub zmianie jej elementu

Opcje odpowiedzi:
A
ObservableCollection
Prawidłowa
B
KeyedCollection
C
Collection
D
ReadOnlyCollection
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: A

Uzasadnienie i szersze wyjaśnienie:

ObservableCollection<T> to specjalny typ kolekcji w platformie .NET, zaprojektowany specjalnie na potrzeby wiązania danych (data binding) w aplikacjach z interfejsem graficznym (WPF, UWP, .NET MAUI, Xamarin). Jej kluczową cechą jest implementacja interfejsu INotifyCollectionChanged. Dzięki temu, za każdym razem, gdy do kolekcji zostanie dodany lub usunięty element, lub gdy jej zawartość zostanie wyczyszczona, kolekcja ta automatycznie wywołuje zdarzenie CollectionChanged. Elementy interfejsu użytkownika (np. ListBox, ListView) mogą „nasłuchiwać” na to zdarzenie i automatycznie odświeżać swój wygląd, aby odzwierciedlić zmiany w kolekcji, bez potrzeby pisania dodatkowego kodu przez programistę.

Dlaczego pozostałe odpowiedzi są nieprawidłowe?

  • C. Collection: Jest to podstawowa, generyczna klasa kolekcji, która nie posiada wbudowanego mechanizmu powiadamiania o zmianach.
  • B. KeyedCollection: To kolekcja hybrydowa (łącząca cechy listy i słownika), która również nie implementuje INotifyCollectionChanged.
  • D. ReadOnlyCollection: Jest to „opakowanie” na inną kolekcję, które uniemożliwia jej modyfikację. Z natury nie może więc informować o zmianach, ponieważ zmiany są zablokowane.

Chcesz poćwiczyć całą kwalifikację INF.04?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF04
Reklama

Podobne pytania z działu „Interfejsy i klasy abstrakcyjne”

Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 17 pytań z tego działu.