Kontynuuję artykuł na temat tworzenia kopii obiektów referencyjnych. We wcześniejszym wpisie, który możecie znaleźć tutaj, zaprezentowałem jak działa metoda MemberwiseClone oraz interfejs ICloneable, ale czy na pewno wszystko zostało powiedziane? Płytkie kopiowanie (ang. shallow copy) W poprzednim materiale nie bez powodu badanym obiektem był punkt, składający się z dwóch typów wartościowych: X oraz Y. Tym razem będzie trochę inaczej, bo utworzymy obiekt zawierający typy referencyjne. W przykładzie mamy klasę detektywa, który ma do wykonania pewne zadanie. Będzie ono składać się z identyfikatora oraz zmiennej tekstowej określającej co należy zrobić. Sklonujmy teraz detektywa i zmienimy pewne wartości. Po uruchomieniu przykładu zobaczymy: Nie wyszło jednak tak, jak chcieliśmy. Imiona detektywów pokazały się…
-
-
Tworzenie kopii obiektów przez MemberwiseClone oraz ICloneable – Język C#
Przypisanie istniejącego obiektu do innej zmiennej niesie ze sobą pewne ryzyko. Należy być świadomym, czym różni się i co zawiera w sobie typ referencyjny, a co typ wartościowy. O typach wartościowych pisałem już nieco podczas omawiania struktur, w tym materiale. Tam też przedstawiłem problem przypisywania typów referencyjnych do innej zmiennej, który zaraz przypomnę. Przypisywanie typów wartościowych Jak sama nazwa wskazuje typy te zawierają w sobie wartość, która zostaje im przypisana. Stwórzmy w naszym testowym przykładzie zwykłą strukturę reprezentującą punkt na płaszczyźnie 2D: Punkt taki składa się z dwóch właściwości, jedna wskazuje położenie w poziomie, a druga w pionie (takie małe przypomnienie ze szkoły). Teraz utwórzmy obiekt naszej struktury, czyli punkt,…
-
Operacje CRUD – EF Core
W poprzednim wpisie, dotyczącym EF Core, pokazałem jak utworzyć prostą bazę danych składającą się z jednej tabeli w podejściu Code First. Jednak baza danych do czegoś służy, a nie wegetuje sobie gdzieś. Dzisiaj wykonamy na niej proste operację CRUD, czyli dodamy element (Create), wczytamy go z bazy danych (Read), zmodyfikujemy jego zawartość (Update) oraz usuniemy z bazy danych (Delete). CRUD jest oczywiście akronimem od tych wszystkich operacji. Do tej pory z cyklu poradników o EF ukazały się: Tworzenie bazy danych w podejściu Code First – EF Core Przypomnienie Trochę przypomnienia z poprzedniego wpisu, żebyście nie musieli weryfikować go od nowa. Operujemy na tabeli detektywa, określonego przez klasę: a nasza baza…
-
Podsumowanie miesiąca: styczeń 2019
Pierwszy miesiąc Nowego Roku za nami i niektórzy zdążyli już porzucić swoje postanowienia noworoczne oraz wyzwania jakie chcieli podjąć na rzecz spokoju ducha albo leniuchowania. Niektórzy też nie lubią takiego systemu określania zadań, ponieważ się u nich nie sprawdza. Jak to wypadło u mnie? Styczeń 2019 Pierwszy tydzień miesiąca był jeszcze w świątecznej aurze wyżerki (jedzenia się nie wyrzuca), oraz zabawy. Na początku miesiąca kupiłem kartę graficzną, która mi się w grudniu spaliła, więc to spowodowało, że trzeba było przetestować nowy sprzęt. Właściwie tylko z dwa dni dałem sobie na całkowitą “rozpustę” i dobrze mi to zrobiło. Dalej starałem się realizować moje postanowienia roczne, które można przejrzeć tutaj oraz cele…