Gdy MyEnum nie ma wartości -13, to poniższy kod się wykona poprawnie i w enumie będziemy mieli wartość spoza zakresu enuma. var myEnum = (MyEnum) -13; Właściwa treść Mamy enum: enum MyEnum { One = 1 } I chcemy wykonać prostą operacje utworzenia tego enuma, tyle że posiadamy jedynie wartość liczbową (z zewnętrznego źródła danych). Akurat tak pechowo się stało, że mamy nie istn...
Sztuka programowania 4192 dni, 7 godzin, 15 minut temu 154 źrodło rozwiń
Zgodnie z obietnicą dziś napiszę trochę więcej o rzutowaniu, wydajności oraz dobrych praktykach. Muszę przyznać, że w jednej kwestii miałem nieprawdziwe informacje (znalezione gdzieś na forum) których byłem pewien ponieważ napisałem prosty program sprawdzający wydajność – jak na końcu pokażę popełniłem błąd podczas mierzenia wydajności spowodowany kompilacją JIT. Na początku trochę przypomnienia: 1. Rzutowanie prefiksowe – najpopularniejszy typ znany np. z CPP. int value = (int)boxedValue; Można wyk...
Bardzo często się zdarza, że używana przez nas wartość nie jest dogodnego dla nas typu. Co zrobić gdy chcemy dodać do siebie dwie liczby, a jedyne co mamy to ciągi znaków? W tym artykule zajmiemy się właśnie tym zagadnieniem. Istnieją cztery zasadnicze rodzaje konwersji: -konwersja niejawna(implicit) -konwersja jawna(explicit, casts) -konwersje użytkownika -konwersja poprzez klasę pomocniczą Konwersja niejawna Dla tego przypadku konwersja odbywa się bez wiedzy użytkownika. Używan...
Witam Ostatnio modyfikując mój kod stanąłem przed problemem rzutowania obiektu typu MembershipUser(z namespaca System.Web.Security) na mój własny typ UserDTO. Klasa UserDTO nie wyróżnia się niczym specjalnym i wygląda następująco public class UserDTO : UserBase { public string Id { get; set; } public string Email { get; set; } public string DisplayName { get; set; } } Podejściem dość oczywistym w takim przypadku jest utworzenie odpowiedniego konstruktora w klasie...
W C# skorzystać możemy z operatorów konwersji – explicit (jawnych) oraz implicit (niejawnych). Co nam to daje? To co tygryski lubią najbardziej – wygodę i prostotę użytkowania ;) Definiując strukturę, wartość inicjalizujemy głównie przez konstruktor, np:(...)