dotnetomaniak.pl

dotnetomaniak.pl - Artykuły z tagiem C#

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...

Tagi: C#, rzutowanie
Dziel się z innymi:
Piotr Zieliński » Wydajność: Porównanie operatorów as, is oraz rzutowania bezpośredniego (prefiksowego)

Inne 2145 dni, 12 godzin, 36 minut temu pzielinski 228 rozwiń

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...

Źródło: kodzimy.net
Dziel się z innymi:
Konwersja typu w C# | kodzimy.net

Inne 2145 dni, 12 godzin, 36 minut temu kodzimy-net 173 rozwiń

Co powiedzie na taki fragment kodu?FileInfo fileInfo; if (sender is FileInfo) fileInfo = sender as FileInfo; Konstrukcja jest dość popularna i: - oczywiście skompiluje się, - jest bezpieczna na wartość NULL (tzn. nie wyrzuci wyjątku), - jeśli sender jest innego typu niż FileInfo, kod nie wyrzuci wyjątku. Co jest w końcu nie tak? Chodzi tutaj o good practice i nie wprowadzanie czytelnika kodu w błąd. Operator is sprawdza czy obiekt jest danego typu. Zatem w instrukcji IF wiemy już,  że sender ...

Tagi: C#, review
Dziel się z innymi:
Piotr Zieliński » Code review: rzutowanie

Inne 2145 dni, 23 godziny, 8 minut temu pzielinski 215 rozwiń

By móc cokolwiek napisać w dowolnym języku programowania, musimy się zapoznać z typami danych na których dany język operuje. W tej części kursu postaram się przybliżyć najważniejsze z nich oraz wyjaśnić terminy z nimi związane.

Źródło: kodzimy.net
Dziel się z innymi:
Typy w C# | kodzimy.net

Inne 2151 dni, 11 godzin, 48 minut temu kodzimy-net 225 rozwiń

Słowo kluczowe yield jest dość często wykorzystywane w c#. W przeciwieństwie do poprzednich konstrukcji, które opisywałem (np. volatile), nie trudno znaleźć zastosowanie praktycznie w projekcie. Zacznijmy  może od razu od przykładu:foreach (int value in GetNumbers(5,7)) { MessageBox.Show(value.ToString()); } // ------------------private IEnumerable

Tagi: C#, yield, yield break
Dziel się z innymi:
Piotr Zieliński » Yield oraz yield-break

Inne 2157 dni, 23 godziny, 33 minuty temu pzielinski 295 rozwiń

Można by rzec ,,Im głębiej w las tym ciemniej”. Po zapoznaniu się ze wcześniejszymi artykułami na temat Klas w C# i Dziedziczenia przyszedł czas na klasę object, klasy abstrakcyjne, instancje i struktury. Może nie są to bardzo trudne zagadnienia ale jeżeli poznasz je i zrozumiesz będziesz mógł tworzyć programy wydajniejsze i bardziej skąplikowane. Zapraszam do lektury.

Źródło: kodzimy.net
Dziel się z innymi:
Klasa object, klasy abstrakcyjne, interfejsy i struktury w C#

Inne 2157 dni, 23 godziny, 33 minuty temu kodzimy-net 301 rozwiń

Witam Ostatnio napotkałem na dość ciekawy wyjątek podczas wykonywania NHibernatowego inserta. W bazie danych mam prostą tabelę Do takiej tabeli został stworzony model namespace Model { public class Appointment { public virtual int Id { get; set; } public virtual string Name { get; set; } public virtual DateTime StartDate { get; set; } public virtual TimeSpan Duration { get; set; } } } oraz mapping namespace Model.Mappings { public class AppointmentM...

.NET Blog: FluentNhibernate- mapowanie kolumn typu time

Windows 2159 dni, 5 godzin, 40 minut temu nocturn 133 rozwiń

Rozważmy, dwie zupełnie bezsensowne klasy:class TextInfo { publicstring Text { get; set; } } class NumberInfo { publicint Number { get; set; } } Następnie gdzieś w kodzie próbujemy dokonać konwersji:NumberInfo numberInfo =new NumberInfo {Number =43}; TextInfo textInfo1 = numberInfo; // konwersja niejawnaTextInfo textInfo2 = (TextInfo)numberInfo; // konwersja jawna Czy, którakolwiek przedstawiona konwersja zakończy się sukcesem?Oczywiście, że nie – skąd .NET ma wiedzieć jak należy zamienić je...

Tagi: C#, operatory
Dziel się z innymi:
Piotr Zieliński » Operatory implicit oraz explicit

Inne 2159 dni, 5 godzin, 40 minut temu pzielinski 132 rozwiń

W ostatnich kilku postach przedstawiłem “egzotyczne” słowa kluczowe w c#. Wiele z nich, myślę, nie było znanych nawet bardziej zaawansowanym programistom. Z pewnością nie są one niezbędne do pisania aplikacji. Często nawet nie jest wskazane aby z nich korzystać, chyba, że naprawdę dokładnie przeanalizowaliśmy sytuację. Słowo zaprezentowane w dzisiejszym poście również zalicza się do tego zbioru.  Myślę, że volatile może być znane programistom C++ ale w świecie c# jest dużo mniej popularne. Jeśli piszecie...

Tagi: C#, volatile, wielo
Dziel się z innymi:
Piotr Zieliński » C#: słowo kluczowe volatile

Inne 2161 dni, 16 godzin, 31 minut temu pzielinski 352 rozwiń

W programowaniu obiektowym użycie tak popularnej konstrukcji jak if-else jest często symptomem złej architektury. Załóżmy, że mamy metodę walidująca dostęp do danych np:privatebool Validate(string userName, string password, AuthType authType) { if(authType == AuthType.PlainPwd) { if(password == _user.Password) returntrue; } elseif(authType == AuthType.MD5) { if(Md5.Hash(password) == _user.Password) } elseif(authType == ....) // ITD... } Powyż...

Tagi: C#
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Code review: Instrukcje warunkowe

Inne 2162 dni, 23 godziny, 24 minuty temu pzielinski 211 rozwiń

Ostatnio pisałem program do rozwiązywania sudoku. Postanowiłem, że cyfry sudoku będę wyświetlał w osobnych TextBox’ach. Nie byłoby w tym nic zastanawiającego, gdyby tych textboxów nie było 81, wyobraźcie sobie ich rysowanie poprzez przeciąganie myszką, już nie mówiąc o problematycznym odczytywaniu z nich danych. Na przykładzie tego prostego programu spróbuję zobrazować jak podejść do rozwiązywania podobnych problemów. Każda kontrolka na formie ma swoją reprezentację w postaci typu, której m...

Źródło: kodzimy.net
Dziel się z innymi:
Dynamiczne rysowanie kontrolek w C# | kodzimy.net

Windows 2164 dni, 19 godzin, 25 minut temu kodzimy-net 350 rozwiń

Dziś następna porcja bardziej egzotycznych słów kluczowych w c#. Słowa unchecked oraz checked służą do kontrolowania czy nie nastąpił overflow podczas operacji arytmetycznych. Wszystkie niepoprawne operacje w klauzuli checked wywołają wyjątek overflow, ponieważ podczas wykonywania obliczeń sprawdzane jest czy wynik wciąż się mieści w zmiennej. Na przykład:checked { int i =0; while (true) i++; } Po pewnym czasie, gdy zmienna i przekroczy Interger.Max, zostanie wyrzucony wyjątek.  .NET z...

Tagi: C#, checked, unchecked
Dziel się z innymi:
Piotr Zieliński » C#: unchecked i checked

Inne 2167 dni, 1 godzinę, 33 minuty temu pzielinski 170 rozwiń

Konwersja koloru “z” oraz “do” Int32 oraz konwersja z zapisu szesnastkowego.

Źródło: jakubflorczyk.pl
Dziel się z innymi:
Jakub Florczyk » Użyteczne rozszerzenia 4/n!

Silverlight 2170 dni, 4 godziny, 44 minuty temu http://jakub-florczyk.myope... 100 rozwiń

Uzupełnienie rozszerzenia z części pierwszej dotyczącego nawigacji w Windows Phone.

Źródło: jakubflorczyk.pl
Dziel się z innymi:
Jakub Florczyk » Użyteczne rozszerzenia 3/n!

Mobile development 2167 dni, 18 godzin, 48 minut temu http://jakub-florczyk.myope... 63 rozwiń

W dzisiejszej części proste przełączanie widoczności UIElement w Silverlight.

Źródło: jakubflorczyk.pl
Dziel się z innymi:
Jakub Florczyk » Użyteczne rozszerzenia 2/n!

Silverlight 2170 dni, 22 godziny, 6 minut temu http://jakub-florczyk.myope... 63 rozwiń

Od kiedy Microsoft wprowadził rozszerzenia (ang. extensions) do platformy .NET jestem ich wielkim fanem. Dlatego raz po raz wrzucę jakiś użyteczne rozszerzenie, które może się okazać przydatne. W dzisiejszej części rozwiązanie bolączki nawigowania do stron w Windows Phone: NavigationService.Navigate(new Uri("/ProductPage.xaml", UriKind.Relative));

Źródło: jakubflorczyk.pl
Dziel się z innymi:
Użyteczne rozszerzenia 1/n! | Jakub Florczyk – Blog o programowaniu .NET

Mobile development 2167 dni, 18 godzin, 48 minut temu http://jakub-florczyk.myope... 206 rozwiń

autor: Tworząc oprogramowanie należy pamiętać o wydajności. Od aplikacji wymaga się płynnego działania, informacji o zmianie postępu, reakcji na działania użytkownika, itp. W przypadku platform mobilnych problem ten jest jeszcze bardziej poważny. Przyzwyczailiśmy się już, że komputery posiadają wydajne kilku rdzeniowe procesory, dużą ilość pamięci operacyjnej, czy szybki dysk. To co kiedyś było ważne w trakcie wytwarzania oprogramowania – efektywność zaproponowanych rozwią...

Dziel się z innymi:
Liczniki wydajności w Windows Phone

Mobile development 2168 dni, 17 godzin, 1 minutę temu http://janosz.myopenid.com/ 56 rozwiń

Witam, co powiedziecie na taki kod?class Employee { public Employee() { Init(); } publicvirtualvoid Init() { } } class Manager : Employee { public Manager() { } publicoverridevoid Init() { } } Czy jest to dobry design? Jeśli ktoś programował w C++, na pewno nie zgodzi się na wywoływanie jakiejkolwiek metody wirtualnej w konstruktorze. W CPP zostałaby wywołana metoda Employee:Init zamiast Manager:Init ponieważ w momencie tworzenia Employee, obiekt Manager jes...

Tagi: C#
Dziel się z innymi:
Piotr Zieliński » Code review: Inicjalizacja obiektu, wywoływanie metody wirtualnej w konstruktorze

Inne 2170 dni, 9 godzin, 29 minut temu pzielinski 110 rozwiń

mijagiC# W życiu każdego programisty przychodzi moment (dość szybko ), kiedy zwykłe zmienne przestają być wystarczające. Potrzebujemy „miejsca” na przechowywanie porcji danych. W rozwiązaniu tego problemu pomogą nam tablice. Najprościej mówiąc tablica to zarezerwowany obszar w pamięci (zestaw zmiennych), tego samego typu, który jest podzielony na tzw elementy.Tablice jednowymiarowe Tablice jednowymiarowe, jak sama nazwa wskazuje mają tylko jeden wymiar, a ich reprezentacje fizyczną możemy sobie wyob...

Tablice w C# | kodzimy.net

Architektura 2172 dni, 8 godzin, 13 minut temu kodzimy-net 199 rozwiń

autor: Trafiłem dzisiaj na ciekawy artykuł, którego autor testuje szybkość wykonania różnych metod mających na celu zwrócenie ilości linii zawartych w zmiennej typu string.

Dziel się z innymi:
[C#] Najszybsza metoda zliczania linii w stringu « Arvangen

Inne 2175 dni, 17 godzin, 38 minut temu macko 376 rozwiń

1 2... 41 42 43 44 45 46... 62 63
Szkolenia SecurITum

marzec

09.
Wroc#
Wrocław
12.
13.
Dodaj nowe Zobacz wszystkie

Najaktywniejsi

1

Paweł Łukasik (32 867,57)

2

macko (32 816,53)

3

pzielinski (27 178,29)

4

gordon_shumway (21 178,87)

5

paduda (20 336,33)

6

psz750 (13 018,14)

7

rroszczyk (10 391,11)

8

Damian (9 423,13)

9

danielplawgo (7 235,99)

10

arek (6 807,95)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 798,06)

15

dpawlukiewicz (3 451,71)

16

spetz (3 418,34)

17

jedmac (3 318,39)

18

http://jakub-flor... (3 224,66)

19

AdrianBystrek (3 130,78)

20

CaMeL (2 954,87)