Delegaty i wyrażenia Lambda w C#

W tym poście postaram się wytłumaczyć czym są delegaty, anonimowe delegaty (równoważne z wyrażeniem lambda, które jest bardzo przydatne w wielu wypadkach.)

1. Delegaty

Delegaty są podobne do wskaźników i funkcji w C czy C++. Z definicji – delegat to zmienna będąca odniesieniem do innej, przy czym „odniesienie” można zmieniać. Czytaj dalej

Reklamy

Próba stworzenia mechanizmu autoochrony w C#

Przez ostatnie kilka dni siedziałem, wykorzystywałem przycisk „Search” w wyszukiwarce Google aż nazbyt dużo razy, gdyż próbowałem znaleźć jakiś sposób, na autoochronę w C#. Jest to strasznie ciekawe zagadnienie, dlatego postanowiłem o tym napisać. Od razu mówię, post nie będzie zbyt ładny, tekst będzie dość precyzyjny. Czytaj dalej

Wielowątkowość w C# – Threading, Locki + SpinLocki

Często zdarza się, że mamy potrzebę wykonania kilku rzeczy w tym samym czasie. Przykładowo, pijąc herbatę możemy równocześnie oglądać telewizję czy czytać książkę. Podobnie w programowaniu – podczas (przykładowo) wykonywania jakiejś dłuższej pętli nie chcemy zawieszać programu (na czas jej wykonania), tylko wykonać w tym samym czasie inne operacje.

W tym poście omówię pewną klasę i strukturę. Pierwsza z nich to Thread zawierający się w System.Threading; Pozwala on na wykonanie innej funkcji równolegle, nie naruszając działania kodu. Przykładowo: Czytaj dalej