- 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
IComparable
i wykorzystać go w procesie sortowania i wyszukiwania, -
umieć określać porządek w zbiorze elementów danego typu poprzez wykorzystanie interfejsu
IComparer
oraz delegataComparison
i 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
BinarySearch
w klasieArray
orazList<T>
), -
poznać środowisko programowania VisualCode 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 (powered by OmniSharp) by Microsoft. Dodatkowo, możesz zainstalować dodatki:
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, ... ).
Opisy innych rozszerzeń VS Code przydatnych dla programisty .Net znajdziesz w Top 5 VS Code Extensions for .Net Core. Więcej informacji o pracy z C# z wykorzystaniem VS Code znajdziesz w dokumentacji Microsoft: VS Code. Working with C#
Obowiązkowa literatura: Michaelis, Rozdział 10. Well formed types
Wykonaj kolejno podane kroki.