Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Typy wyliczeniowe, kolekcje

Podobne prezentacje


Prezentacja na temat: "Typy wyliczeniowe, kolekcje"— Zapis prezentacji:

1 Typy wyliczeniowe, kolekcje
Akademia C# Lab 5 Typy wyliczeniowe, kolekcje

2

3

4 Typy wyliczeniowe enum DzienTygodnia { class Spotkanie { Poniedziałek,
Wtorek, Środa, Czwartek, Piątek, Sobota, Niedziela } class Spotkanie { public DzienTygodnia dzien; }

5 Używanie enum w programie
Po deklaracji enum wypadało go użyć. Używa się dokładnie tak samo jak inne typy. Tworzymy sobie zmienne typu enum np. DzienTygodnia zmienna; Przypisujemy wartość do naszej zmiennej (z tych „dostępnych” w enum). DzienTygodnia spotkanie = DzienTygodnia.Wtorek; Jak nie przypiszemy wartości to domyślna będzie pierwsza wartość. (czyli np. Poniedziałek dla dni tygodnia). Typ wyliczeniowy może być przerobiony na napis za pomocą metody “ToString()”, można porównywać Wartości za pomocą operatorów == i !=

6 Wartości typów wyliczeniowych
Wartości typów enum są liczbami całkowitymi.  Domyślnie: Numerowanie od 0, dla dni tygodnia 0-6. Gdy zrzutujemy na inta to mamy wyświetlane wartości liczbowe a nie nazwy. Możesz sam przypisać wartości do swojego typu wyliczeniowego enum MojTyp { Typek = 10; InnyTypek=5; }

7 Po co używać typu wyliczeniowego?
 Bo bez sensu jest pisanie instrukcji gdzie liczba int będzie odpowiadać numerom miesiąca, czy coś w tym stylu. Bo są wygodne. Typy wyliczeniowe przydatne są także przy kontrolkach, jak ComboBox ponieważ z góry wiemy, jakie pola może użytkownik wybrać.  Jednym słowem zamiana niektórych zmiennych z string na typ wyliczeniowy może bardzo usprawnić aplikacje.

8 Kolekcje

9 Listy Znajdują się w przestrzeni nazw System.Collections.Generics
Zalety: - liczba elementów może być zmienna już po utworzeniu listy Można dodawać na koniec, wstawiać do środka i usuwać dowolnie wybrany element Możliwy dostęp do dowolnego elementu (tak jak w tablicach)

10 Listy

11 Dodawanie elementów do listy

12 Kolejka – zaimplementowana w klasie Queue
Do kolejki można dodać tylko element na końcu a zdjąć na początku

13 Stos czyli klasa Stack Zbiór z którego można zdjąć tylko element ostatnio dołożony

14 Porównanie stos i kolejka

15 SortedList Również przestrzeń nazw System.Collections.Generics Lista „dwukolumnowa”. Każdy element przechowuje klucz i wartość (właściwości Key i Value). Pozwala to m.in. na sortowanie obu wartości według klucza. Podobnie kolekcje Dictionary i SortedDictionary. Wszystkie implementują Interfejs IDictionary, dlatego często są nazywane słownikami

16 SortedList - implementacja

17 Zadania Stworzymy bardzo prosta klasę Person.
Przechowywać ona będzie następujące dane: Id osoby Imię Nazwisko Wiek

18 Zadanie Utworz liste przechowującą obiekty typu Person. Dodaj kilka obiektów Person. Użyj właściowości Count do policzenia liczby elementów listy i wypisz na ekran.

19 Zadanie Użyj instrukcji foreach do wypisania elementów listy na ekran Wybierz osobę, która ma 20 lat Podpowiedź : Skorzystaj z predykatów (element) i metody Find Person FoundPerson = personsList.Find(element => element.Age == 26); Znajdź wszystkie osoby o imieniu Jan (najpierw ich stwórz ) Wykorzystaj metodę FindAll, która zwraca listę List<Person> foundPersonsList = fersonsList.FindAll (element => element.FirstName.Equals(„imie"));

20 Zadanie Dodaj osobnika Person na 2 miejscu listy. Skorzystaj z metody nazwaListy.Insert(index, referencjaDoOobiektu); Odwróc porządek kolekcji – metoda Reverse(); Wyczyść listę – metoda Clear();

21 Zadanie Stwórz słownik Dictionary<T,T> Niech jako klucz przyjmuje numer porządkowy, jako wartość obiekt typu Person. Dodaj klika elementów do słownika Wykorzystaj petle foreach do wypisania elementów. Uwaga: Tutaj musimy skorzystać ze specjalnej struktury zawierającej pary klucz i wartość: foreach (KeyValuePair<int, Person> pair in personsDictionary) Wyczyść kolekcję – metoda Clear();

22 Zadanie Stwórz kolejkę „Personów”  (Queue<T>) Dodaj kilka elementów (tutaj metoda Enqueue zamiast Add) Zdejmij element z kolejki metoda Dequeue(); Upewnij się czy kolejka nie jest pusta! Np. Właściwość Count Pobierz element z kolejki ale nie zdejmuj go (metoda Peek(); ) Użyj foreach do wypisania elementów kolejki


Pobierz ppt "Typy wyliczeniowe, kolekcje"

Podobne prezentacje


Reklamy Google