Skip to content

Ćwiczenie w zakresie implementowania tożsamości instancji (IEquatable) oraz porównywania (IComparable, IComparator, Comparison)

Notifications You must be signed in to change notification settings

wsei-csharp201/cs-lab02-Implementacja-IEquatable-IComparable-IComparer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Implementacja interfejsów IEquatable, IComparable, IComparer

  • 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ęcie Equals, 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 delegata Comparison 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 klasie Array oraz List<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.

About

Ćwiczenie w zakresie implementowania tożsamości instancji (IEquatable) oraz porównywania (IComparable, IComparator, Comparison)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published