Obsługa operatorów struktur i klas
Stronę tą wyświetlono już: 2063 razy
Wstęp
Obsługa operatorów klas i struktur w C# jest w zasadzie taka sama. Oto podstawowy zestaw operatorów matematycznych, które można obsłużyć to:
- + operator dodawania;
- - operator odejmowania;
- ++ inkrementacja (zwiększanie wartości o jeden);
- -- dekrementacja (zmniejszanie wartości o jeden);
- * operator mnożenia;
- / operator dzielenia;
- % operator dzielenia modulo;
- ! operator zaprzeczenia not;
- == operator logiczny równości;
- != operator logiczny nierówności;
- ~ operator bitowego dopełnienia;
- << operator bitowego przesunięcia w lewo;
- >> operator bitowego przesunięcia w prawo;
- < operator mniejsze niż;
- > operator większości;
- <= operator mniejsze równe;
- >= operator większe równe;
- & operator bitowej koniunkcji AND;
- | operator bitowej alternatywy OR;
- ^ operator bitowej alternatywy wykluczającej XOR;
Dodatkowo możliwe jest obsłużenie rzutowania jednego typu danych na drugi.
Przykładowa implementacja obsługi operatorów klasy Point2D
Oto przykład implementacji podstawowych operatorów w klasie, którą już wcześniej została utworzona przy okazji omawiania tematu Programowanie → Podstawy C# → Klasy:
Jak widać przeciążanie operatorów jest jak najbardziej możliwe a nawet wskazane. Dodatkową niespodzianką będzie wykonanie w głównej procedurze programu następującego kodu:
Proszę zauważyć, że nie obsłużyłem operatora += a jednak go użyłem i to się skompiluje i wykona, wynikiem czego będzie wyświetlanie następującego tekstu:
Suma dwóch wektorów: Point2D x = 15; y = 25 Różnica dwóch wetkorów: Point2D x = 5; y = 15 Iloczyn skalarny dwóch wektorów: 150 Suma dwóch wektorów: Point2D x = 10; y = 15
Tytuł:
C# 10. Programowanie. Tworzenie aplikacji Windows, internetowych i biurowych
Autor:
Ian Griffiths
Tytuł:
C# 10 i .NET 6 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 6, Blazor i EF Core 6 w Visual Studio 2022 i Visual Studio Code. Wydanie VI
Autor:
Mark J. Price
Tytuł:
Visual Studio 2022, C# i .NET. Programowanie kontrolek
Autor:
Łukasz Sosna
Tytuł:
C# 10. Leksykon kieszonkowy
Autor:
Joseph Albahari, Ben Albahari
Tytuł:
Wzorce projektowe w .NET Core 3. Projektowanie zorientowane obiektowo z wykorzystaniem C# i F#
Autor:
Dmitri Nesteruk
Tytuł:
Jak pisać świetne gry 2D w Unity. Niezależne programowanie w języku C#
Autor:
Jared Halpern
Tytuł:
C# 9.0 w pigułce
Autor:
Joseph Albahari
Tytuł:
C# 9.0. Leksykon kieszonkowy
Autor:
Joseph Albahari, Ben Albahari
Tytuł:
C# 8.0. Kompletny przewodnik dla praktyków. Wydanie VII
Autor:
Mark Michaelis
Tytuł:
C# 8.0 w pigułce
Autor:
Joseph Albahari, Eric Johannsen