dotnetomaniak.pl

dotnetomaniak.pl - Artykuły z tagiem C#

W .NET istnieje wiele sposobów synchronizacji pracy wątków. O dużej części z nich pisałem już na blogu (z ciekawszych np. klasa Barrier ). Najpopularniejszym i najłatwiejszym sposobem jest użycie słowa kluczowego lock. W wielu przypadkach jest to najlepszy i najbezpieczniejszy wybór. SpinLock to zupełnie inne podejście. W przypadku lock, wątek jest usypiany i budzony gdy przyjdzie na niego kolej. Ma to kilka poważnych wad. Wiążą się one z szeregowaniem oraz zmianą kontekstu. Zmiana kontekstu jest dość c...

Dziel się z innymi:
Piotr Zieliński » Synchronizacja za pomocą SpinLock

Inne 1791 dni, 13 godzin, 24 minuty temu pzielinski 194 rozwiń

Na platformie .NET od wersji 3.5 dostępna jest technologia LINQ oferująca uniwersalny mechanizm zadawania zapytań do obiektów. W tym wpisie pokażę w jaki sposób przy użyciu LINQ to XML przenieść dane z kolekcji obiektów do dokumentu XML, wczytać dane z pliku XML do kolekcji oraz zmodyfikować zawartość XML-a.

Tagi: .Net, C#, Linq, xml
Dziel się z innymi:
Kolekcja obiektów i plik XML – zapis, odczyt i modyfikacja danych przy użyciu LINQ to XML « Developer notes

Inne 1791 dni, 13 godzin, 24 minuty temu psz750 639 rozwiń

W .NET 4.0 wprowadzoną klasę Tuple służącą do owijania kilku wartości w jeden obiekt. Tuple to nic innego jak obiekt zawierający w sobie jakieś dane w postaci właściwości. Do dyspozycji jest 8 statycznych  metod służących do stworzenia Tuple:Create(T1)Create(T1,T2)Create(T1,T2,T3)Create(T1,T2,T3,T4)Create(T1,T2,T3,T4,T5)Create(T1,T2,T3,T4,T5,T6)Create(T1,T2,T3,T4,T5,T6,T7)Create(T1,T2,T3,T4,T5,T6,T7,T8) Ponadto istnieje możliwość stworzenia tuple za pomocą jednego z konstruktorów:Tuple

Tagi: C#, Tuple
Dziel się z innymi:
Piotr Zieliński » Klasa Tuple

Inne 1794 dni, 5 godzin, 16 minut temu pzielinski 264 rozwiń

Posted by slanto on Zastosowanie wzorca Decorator na przykładzie produktu i ofert specjalnych. Wzorzec ten pozwala nam na dynamiczną zmianę/rozszerzanie zachowania istniejących klas.

Dziel się z innymi:
Decorator Pattern | Zapiski programisty .net

Architektura 1798 dni, 6 godzin, 11 minut temu http://slanto.myopenid.com/ 263 rozwiń

When working with multi threaded applications, we tend to spawn worker threads which can lead to ineffective code when not done correctly, for example threads will not get reused and will be recreated for each work items. The solution to all those problems is a ThreadPool which reuses threads and queues work items that are consumed by those threads. This sort of implementation while simple can have side effects as unless the pool Queue is immutable it will have to be locked each time an item Enqueued and...

Dziel się z innymi:
Work Stealing | Passion of Programming in .NET

Inne 1800 dni, 5 godzin, 8 minut temu http://badamczewski.blogspo... 213 rozwiń

Często spotykanym wyzwaniem przy budowie systemów rozproszonych jest przesyłanie plików o znacznych rozmiarach. Tego typu rozwiązanie w łatwy sposób można zaimplementować w technologii WCF, która pozwala na tworzenie wszechstronnych i wydajnych usług sieciowych. Na przykładowym serwisie WCF pokażę w jaki sposób radzić sobie z wysyłaniem i odbieraniem dużych plików pomiędzy klientem a usługą.

Tagi: .Net, C#, stream, WCF
Dziel się z innymi:
Przesyłanie plików w systemach rozproszonych – streaming w WCF « Developer notes

Programowanie rozproszone 1800 dni, 5 godzin, 8 minut temu psz750 399 rozwiń

W dzisiejszym poście o dwóch nowościach. Pierwsza z nich to ulepszona kompatybilność. W VS 11 można otwierać solucje utworzone w Visual Studio 2010 bez znanego “Upgrade”. Oznacza to, że można jednocześnie na tym samym projekcie pracować zarówno w VS 11 jak i VS 2010. Projekt otworzony w VS 11 nie powoduje zmiany  formatu i później wciąż może być otwierany w VS 2010. Moim zdaniem znaczącą ułatwia to migrację. Niestety projekt utworzony od nowa w VS 11 nie może być już otwarty w 2010 ale wydaje się to natu...

Tagi: C#, Visual Studio
Dziel się z innymi:
Piotr Zieliński » Visual Studio 11 – kompatybilność wstecz oraz Solution Explorer

Narzędzia 1800 dni, 5 godzin, 8 minut temu pzielinski 156 rozwiń

Piotr Zieliński na swoim blogu rozważał zasadność redefiniowania przez klasy dziedziczące metod z klas dziedziczonych (przy pomocy modyfikatora new), warto zapoznać się z tym wpisem przed kontynuowaniem lektury niniejszego tekstu. Na zakończenie Piotr poprosił o podanie innych, od przestawionych przez niego, powodów, na zasadność użycia modyfikatora new. Oto jeden z nich...

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Co jest zasadnym powodem, by przekabacić metodę

Architektura 1801 dni, 2 godziny, 21 minut temu PaSkol 159 rozwiń

W ostatnim poście o nowościach w VS 11 pisałem o szarych ikonach, co w większości osobom nie przypadło do gustu. Z tego co obserwuję, zdecydowana większość jest rozczarowana nowymi ikonami. Dzisiaj jednak chciałbym zaprezentować praktyczniejszą funkcję – nowy QuickLaunch. Na początek PrintScren: Chodzi mi oczywiście o QuickLaunch znajdujący się w prawym górnym rogu. Wpisując jakiś tekst, zostanie przeszukanych kilka typów informacji jak:Otwarte dokumenty (przeszukuje po ich nazwie).Item’y w menu – bar...

Tagi: C#, Visual Studio
Dziel się z innymi:
Piotr Zieliński » Visual Studio 11– QuickLaunch

Narzędzia 1801 dni, 46 minut temu pzielinski 203 rozwiń

W obecnym czasie, z bardzo rozwiniętymi środowiskami programistycznymi, takimi jak choćby Visual Studio, czy też Eclipse, bardzo łatwo jest rozpocząć swoją przygodę z programowaniem, które w tym przypadku czasem bardziej przypomina zabawę z klockami, niż rzeczywiste . Jednak nastawiając się na bezmyślne składanie klocków, szybko można obudzić się z przysłowiową , w sytuacji gdy zajdzie potrzeba modyfikacji lub rozszerzenia tak radośnie tworzonego kodu, a warto zaznaczyć, że nieumiejętnie sklejony kod mo...

Dziel się z innymi:
C# - Interfejsy które warto znać  - Alt Control Delete

Architektura 1802 dni, 18 godzin, 50 minut temu Yuras 468 rozwiń

W wielu publikacjach service locator podawany jest jako wzorzec projektowy, doskonale nadający się do implementacji inversion of control. W poście jednak chciałbym przedstawić drugą szkołę, która uważa, że ten wzorzec jest “brzydki” i powoduje ogromne zamieszanie. Przede wszystkim odpowiedzmy sobie kiedy używamy podejścia IoC? W aplikacjach tymczasowych? Prototypach? Raczej nie… Początkowy czas na napisanie aplikacji IoC może okazać się dłuższy a korzyści nadchodzą dopiero po kilku miesiącach implementa...

Dziel się z innymi:
Piotr Zieliński » Service Locator jako anti-pattern

Architektura 1804 dni, 14 godzin, 20 minut temu pzielinski 277 rozwiń

Co poniższy kod zwróci na ekranie? Spodziewać się można 0,1,2. Jednak na ekranie ujrzymy 5,5,5. Dlaczego?

Tagi: C#, Lambda
Dziel się z innymi:
Piotr Zieliński » Wyrażenia lambda i niespodziewany rezultat

Inne 1807 dni, 16 godzin, 33 minuty temu pzielinski 252 rozwiń

Zamierzam napisać kilka krótkich postów o nowych funkcjonalnościach w Visual Studio 11. Na dobry początek zacznijmy po prostu od screenu: Co od razu rzuca się w oczy? Czarno białe ikony. Dla porównania zobaczymy jak wygląda “stary” Visual Studio: Na pierwszy rzut oka to poprzednia wersja wygląda dużo nowocześniej ze względu na kolorowe, bardziej 3d ikonki. Dlaczego Microsoft zdecydował się na taki krok? Z tego co wiem, doszli do wniosku, że środowisko programistyczne nie powinno być zabawką i nie m...

Tagi: C#, Visual Studio
Dziel się z innymi:
Piotr Zieliński » Visual Studio 11 – pierwsze spojrzenie

Narzędzia 1808 dni, 21 godzin, 4 minuty temu pzielinski 231 rozwiń

W c# 5.0 dodano dwa nowe atrybuty: CallerMemberName oraz CallerFilePath. Można je stosować do domyślnych parametrów metod:staticprivatevoid Print([CallerMemberName]string methodName =null, [CallerFilePath]string fileName =null) { Console.WriteLine(methodName); Console.WriteLine(fileName); } Wywołanie powyższej metody bez podania argumentów spowoduje przekazaniem nazwy metody, która wywołała Print oraz ścieżki pliku w którym znajduje się ta metoda:Print(); Jeśli Print został wywołany w metodzie ...

Tagi: atrybuty, C#
Dziel się z innymi:
Piotr Zieliński » C# 5.0: Atrybuty CallerMemberName, CallerFilePath oraz implementacja interfejsu INotifyPropertyChanged

Inne 1808 dni, 21 godzin, 4 minuty temu pzielinski 192 rozwiń

Często widzę następujący kod. Oczywiście jeśli mamy pewność, że zawsze jest klucz nie ma z tym problemu. Czasami jednak takiej pewności nie ma i należy zwrócić NULL albo stworzyć dany element w słowniku. Wtedy zaczynają się problemy bo najczęściej jest to dokonywane za pomocą:

Tagi: C#, data-access
Dziel się z innymi:
Piotr Zieliński » Code review: bezpieczny dostęp do danych

Inne 1811 dni, 23 godziny, 12 minut temu pzielinski 192 rozwiń

Od .NET 2.0 dostępna jest klasa SqlBulkCopy, która pozwala na efektywne ładowanie dużych zbiorów danych do bazy SQL Server. Główną zaletą tej klasy jest wydajność operacji kopiowania danych...

Tagi: .Net, C#
Dziel się z innymi:
Efektywne ładowanie danych do bazy – klasa SqlBulkCopy « Developer notes

Bazy danych i XML 1813 dni, 13 godzin, 18 minut temu psz750 198 rozwiń

Czasami mamy do dyspozycji tylko asynchroniczne wywołanie interesującej nas metody, a chcemy synchronicznie. Kawałeczek kodu, który realizuje to w przejrzysty sposób.

Dziel się z innymi:
Z asynchronicznej w synchroniczną | Show me the code

Mobile development 1813 dni, 13 godzin, 18 minut temu http://krzysztofmorcinek.wo... 132 rozwiń

Pytanie brzmi: czy metody statyczne są wydajniejsze niż ich “zwykłe” odpowiedniki (instance methods)? Odpowiedź brzmi tak, ponieważ:Wywołanie jakiejkolwiek niestatycznej metody na klasie powoduje przekazanie parametru “this” – a to wymaga dodatkowego czasu.Same wywołanie jest bardziej czasochłonne dla zwykłych metod. W klasach statycznych nie ma dziedziczenia i wirtualnych metod. W niestatycznych metodach, kompilator musi dokonać kilka  dodatkowych operacji. Każda metoda niestatyczna jest wywoływana za p...

Tagi: C#, static
Dziel się z innymi:
Piotr Zieliński » Statyczne metody – wydajność

Inne 1814 dni, 15 godzin, 41 minut temu pzielinski 237 rozwiń

O wzorcu projektowym singleton napisałem już kiedyś sporawy post. Klasy statyczne są prostym mechanizmem i mogą przypominać singleton. Tak jak w singleton, w klasach statycznych mamy do dyspozycji wyłącznie jedną instancję obiektu. Również nie ma możliwości ręcznego stworzenia instancji obiektów. Czym się zatem te twory różnią? 1. Singleton może implementować interfejs lub dziedziczyć po bazowej klasie. Jest to poważna zaleta w stosunku do klasy statycznej. Dzięki temu można np.:class XnaRenderer: IRend...

Tagi: C#
Dziel się z innymi:
Piotr Zieliński » Singleton a klasy statyczne

Inne 1816 dni, 23 godziny, 7 minut temu pzielinski 234 rozwiń

Posted by mndevnotes W .NET 4 pojawiła się nowa klasa System.Lazy. Opakowuje ona obiekt danego typu, dzięki czemu jego inicjalizacja następuje dopiero w momencie pierwszego użycia.

Tagi: .NET 4.0, C#
Dziel się z innymi:
Leniwa inicjalizacja obiektów – klasa Lazy « Developer notes

Windows 1818 dni, 3 godziny, 47 minut temu psz750 384 rozwiń

1 2... 34 35 36 37 38 39... 57 58
Szkolenia SecurITum

kwiecień

26.
CodeEurope
Kraków

maj

17.
InfoShare
Gdańsk
23.
CodeEurope
Wrocław
Zobacz wszystkie

Najaktywniejsi

1

macko (32 816,53)

2

http://pawlos.blo... (31 603,45)

3

pzielinski (27 178,29)

4

gordon_shumway (21 178,87)

5

paduda (20 336,33)

6

psz750 (13 018,14)

7

rroszczyk (10 383,88)

8

Damian (9 041,08)

9

danielplawgo (7 235,99)

10

arek (6 807,91)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 578,06)

15

jedmac (3 308,39)

16

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

17

CaMeL (2 954,87)

18

spetz (2 783,21)

19

mnikolajuk (2 596,93)

20

lkurzyniec (2 590,68)