- Autor: Krzysztof Molenda
- Wersja: 2019-10-03
Celem ćwiczenia jest nabycie umiejętności w zakresie tworzenia "dobrze uformowanych typów" (well formed types) i implementowania podstawowych interfejsów umożliwiających porównywanie obiektów i stosowanie bibliotecznych algorytmów (sortowanie, wyszukiwanie).
Po wykonaniu ćwiczenia powinieneś:
-
umieć implementować równość obiektów (w sensie "taki sam") - implementacja
IEquatable<T>, przesłonięcieEquals,GetHashCode, -
umieć określać naturalny porządek dla projektowanego typu - implementacja
IComparablei wykorzystać go w procesie sortowania i wyszukiwania, -
umieć określać porządek w zbiorze elementów danego typu poprzez wykorzystanie interfejsu
ICompareroraz delegataComparisoni wykorzystać go w procesie sortowania i wyszukiwania, -
umieć zaprogramować prostą metodę generyczną (na przykładzie metody sortującej),
-
umieć wykorzystać w praktyce implementację algorytmu wyszukiwania binarnego (metoda
BinarySearchw klasieArrayorazList<T>), -
poznać środowisko programowania Visual Studio Code (VSCode) w aspekcie programowania w C#.
Ćwiczenie wykonaj wykorzystując lekkie środowisko VS Code z dodatkiem C# ( Get started with C# and Visual Studio Code ). Należy zainstalować dodatek: C# for Visual Studio Code by Microsoft.
Wszystkie polecenia tworzenia czy uruchamiania możesz jednak wydawać z poziomu terminala. Więcej informacji: https://docs.microsoft.com/en-US/dotnet/core/tools/ (polecenia: dotnet new sln, dotnet new console, dotnet new classlib, dotnet new mstest, dotnet new xunit, dotnet add ..., dotnet run, dotnet test, ... ).
Więcej informacji o pracy z C# z wykorzystaniem VS Code znajdziesz w dokumentacji Microsoft: VS Code. Working with C# O tym, jak tworzyć i uruchamiać testy jednostkowe dla C# w VSCode dowiesz się z Testing with C# Dev Kit
Obowiązkowa literatura: Michaelis, Rozdział 10. Well formed types
Wykonaj kolejno podane kroki.