dotnetomaniak.pl

dotnetomaniak.pl - Artykuły z tagiem C#

Ostatnimi czasy rozpocząłem naukę programowania pod Windows Phone 7. Szybko okazało się, że przy pisaniu jednej z testowych aplikacji, warunkiem koniecznym jej dalszego rozwoju stał się dostęp do bazy danych. Programowanie na platformę mobilną wiążę się jednak z wieloma ograniczeniami w stosunku do programowania aplikacji desktopowych i oczywiście nie ominęły one również samej bazy danych. W przypadku Windows Phone, możemy korzystać zatem tylko z SQL Server CE i wykorzystywać w tym celu wyłącznie LINQ t...

Dziel się z innymi:
LINQ i DataContext - wycofywanie zmian w bazie - Alt Control Delete

Mobile development 2255 dni, 18 godzin, 6 minut temu Yuras 176 rozwiń

Programując, wcześniej czy później będziemy zmuszeni nauczyć się obsługi zdarzeń (events). Opisując program z laborek wyjaśnię jak korzystać ze zdarzeń według wzorca .NETu. Zdarzenia Początkujący programiści mogą nie wiedzieć czym są zdarzenia, ale zapewne ich używają. Bo czy nie zdarzyło się komuś wpisać fragmentu kodu do Form1Load(…) lub button1Click(…)? Podejrzewam, że takich osób jest niewiele. Tak jak w życiu codziennym, tak i w programowaniu są pewne zdarzenia na które musimy odpow...

Tagi: C#, events, zdarzenia
Źródło: kodzimy.net
Dziel się z innymi:
Zdarzenia w C# | kodzimy.net

Inne 2257 dni, 1 godzinę, 33 minuty temu kodzimy-net 216 rozwiń

W kolejnym artykule chciałbym przedstawić podstawy pisania usług sieciowych w WCF (Windows Communication Foundation) oraz łączenia ich z aplikacją klienta. Wszystko omówię na przykładzie bardzo prostego przykładu. Stworzę prosty kalkulator, który będzie umożliwiał dodawanie, odejmowanie, mnożenie i dzielenie dwóch liczb. Zaczynamy!

Źródło: kodzimy.net
Dziel się z innymi:
Twoja pierwsza usługa WCF w C# | kodzimy.net

Inne 2264 dni, 7 godzin, 39 minut temu kodzimy-net 750 rozwiń

Słowo var zostało wprowadzone w .NET 3.5, prawdopodobnie ze względu na LINQ i anonimowe typy. Jedni programiści za wszelką cenę unikają tego słowa kluczowego a drudzy zapomnieli o typach i zawsze korzystają var bo w końcu to nowy feature… Nawet Resharper sugeruje aby zawsze używać var ponieważ skraca to składnie. Istnieje też spora trzecia grupa do której m.in. ja należę i postaram się pokazać kilka przykładów. Moja zasada jest prosta – używam var tylko jeśli w momencie deklaracji można wywnioskować typ...

Tagi: C#, var
Dziel się z innymi:
Piotr Zieliński » Kiedy używam var?

Inne 2264 dni, 7 godzin, 39 minut temu pzielinski 369 rozwiń

W kilku miejscach spotkałem się z błędną definicją CopyTo oraz Clone.  W przeciwieństwie do niektórych opinii, obydwie metody wykonują shallow copy. Jak wiemy w c# mamy reference oraz value types. Podczas płytkiego kopiowania, typy value po prostu klonowane są bit po bicie. W przypadku typów referencyjnych, wyłącznie adres jest kopiowany, nie wartość. Zatem po skopiowaniu typu referencyjnego będziemy mieli dwa wskaźniki, wskazujące na te same dane. Przykład:SampleClass[] array =new SampleClass[] {sampleC...

Tagi: array, C#
Dziel się z innymi:
Piotr Zieliński » Array.CopyTo vs. Array.Clone

Inne 2266 dni, 26 minut temu pzielinski 155 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...

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

Inne 2271 dni, 12 godzin, 42 minuty 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 2271 dni, 12 godzin, 42 minuty 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 2271 dni, 23 godziny, 14 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 2277 dni, 11 godzin, 53 minuty 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 2283 dni, 23 godziny, 38 minut 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 2283 dni, 23 godziny, 38 minut 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 2285 dni, 5 godzin, 45 minut temu nocturn 134 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 2285 dni, 5 godzin, 45 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 2287 dni, 16 godzin, 37 minut temu pzielinski 373 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 2288 dni, 23 godziny, 30 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 2290 dni, 19 godzin, 31 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 2293 dni, 1 godzinę, 38 minut 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 2296 dni, 4 godziny, 50 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 2293 dni, 18 godzin, 54 minuty 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 2296 dni, 22 godziny, 12 minut temu http://jakub-florczyk.myope... 63 rozwiń

1 2... 42 43 44 45 46 47... 63 64
Szkolenia SecurITum

wrzesień

21.
Dev#
Gdansk, Stary Manez
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,88)

5

paduda (20 336,33)

6

psz750 (13 018,14)

7

rroszczyk (10 393,67)

8

Damian (9 580,27)

9

danielplawgo (7 551,05)

10

arek (6 807,95)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 818,06)

15

dpawlukiewicz (3 677,19)

16

AdrianBystrek (3 500,85)

17

spetz (3 418,34)

18

jedmac (3 318,39)

19

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

20

CaMeL (2 954,87)