dotnetomaniak.pl

dotnetomaniak.pl - Artykuły z tagiem C#

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 2441 dni, 16 godzin, 10 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 2447 dni, 4 godziny, 50 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 2453 dni, 16 godzin, 34 minuty temu pzielinski 296 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 2453 dni, 16 godzin, 34 minuty temu kodzimy-net 303 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 2454 dni, 22 godziny, 41 minut temu nocturn 135 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 2454 dni, 22 godziny, 41 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 2457 dni, 9 godzin, 33 minuty temu pzielinski 386 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 2458 dni, 16 godzin, 26 minut 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 2460 dni, 12 godzin, 27 minut temu kodzimy-net 351 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 2462 dni, 18 godzin, 34 minuty temu pzielinski 173 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 2465 dni, 21 godzin, 46 minut 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 2463 dni, 11 godzin, 50 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 2466 dni, 15 godzin, 8 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 2463 dni, 11 godzin, 50 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 2464 dni, 10 godzin, 3 minuty temu Michal Jankowski 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 2466 dni, 2 godziny, 31 minut temu pzielinski 111 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 2468 dni, 1 godzinę, 15 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 2471 dni, 10 godzin, 40 minut temu macko 376 rozwiń

Często zależy nam by pewien obiekt przechowywał w sobie wartości tylko z określonego zbioru. W takiej sytuacji z pomocą przyjdzie nam typ wyliczeniowy.

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

Inne 2473 dni, 12 godzin, 31 minut temu kodzimy-net 262 rozwiń

Klasy są chyba najbardziej skomplikowanym działem języka C#, a z pewnością najbardziej rozbudowanym. Każda osoba starająca nauczyć się języka będzie musiała się z nimi zapoznać. Klasy w C#, tak jak w większości języków obiektowych, są schematami na podstawie których budowane są obiekty… …I to by było na tyle jeśli chodzi o teorię, czas na trochę kodu!

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

Inne 2473 dni, 12 godzin, 31 minut temu kodzimy-net 211 rozwiń

1 2... 44 45 46 47 48 49... 65 66