Algorytmy · CsharpCzego szuka rekruter: rekurencja vs iteracja, rozumienie ograniczeń typów, obsługa edge casesPoziom: Junior / Mid Zadanie Napisz funkcję obliczającą silnię liczby całkowitej n (n!). Silnia zdefiniowana jest jako iloczyn wszystkich…
Czytaj więcej →
CsharpCzego szuka rekruter: obsługa pustej kolekcji, LINQ vs manual, czytelnośćPoziom: Junior Zadanie Napisz funkcję, która w tablicy liczb całkowitych znajdzie najmniejszą i największą wartość. Nie używaj…
Czytaj więcej →
CsharpCzego szuka rekruter: rekurencja z memoizacją, iteracja, złożoność obliczeniowaPoziom: Junior / Mid Zadanie Wypisz pierwsze n liczb ciągu Fibonacciego. Ciąg zaczyna się: 0, 1, 1, 2,…
Czytaj więcej →
CsharpZamiast teorii — konkretny błąd i konkretne narzędzia Visual Studio, które pomogą go znaleźć. Błąd, który znajdziemy static double ObliczSrednia(List<int> oceny) { int suma = 0;…
Czytaj więcej →
CsharpTwoja aplikacja tworzy tysiące obiektów na minutę — a mimo to nie wywołujesz nigdzie free() ani delete i pamięć nie wycieka. Robi to za Ciebie Garbage…
Czytaj więcej →
CsharpJak Tworzyć Wątki W C# W języku C# system wielowątkowy jest oparty na klasie Thread, która hermetyzuje wykonywanie wątków. Ta klasa zawiera kilka metod i właściwości,…
Czytaj więcej →
CsharpZdarzenia (events) pozwalają obiektowi ogłosić: “stało się coś ciekawego” — bez wiedzy o tym, kto (jeśli ktokolwiek) tego słucha. Przycisk na ekranie nie wie i nie…
Czytaj więcej →
CsharpDelegat to typ, którego zmienna nie przechowuje liczby ani obiektu — przechowuje odwołanie do metody. Skoro zmienna wskazuje na metodę, można ją wywołać dokładnie tak, jak samą…
Czytaj więcej →
CsharpW pierwszej części poznałeś składnię i zasady przeciążania operatorów na przykładzie liczb zespolonych. Tym razem przechodzimy do bardziej życiowego przykładu — klasy reprezentującej faktury, którą nauczymy się dodawać…
Czytaj więcej →
CsharpC# pozwala nadać własnym typom nowe znaczenie dla standardowych operatorów — +, -, ==, < i innych. To mechanizm, który sprawia, że DateTime.Now + TimeSpan.FromHours(1) albo vector1 + vector2 działa tak naturalnie, jak dodawanie dwóch…
Czytaj więcej →
CsharpDobra obsługa błędów decyduje o tym, czy aplikacja jest niezawodna i diagnozowalna. W C# służą do tego głównie wyjątki oraz dobre praktyki walidacji i logowania. Poniżej…
Czytaj więcej →
Csharp · KolekcjeListy są bardzo podobne do tablic, ale w przeciwieństwie do nich można swobodnie zmieniać ich rozmiar — List<T> automatycznie rośnie i kurczy się wraz z zawartością. Podstawowe operacje…
Czytaj więcej →
Csharp · KolekcjeKażda poważna aplikacja w pewnym momencie musi zarządzać nie jednym obiektem, ale wieloma — listą zamówień, koszem klientów, kolejką zadań do przetworzenia, cache’em produktów po ID.…
Czytaj więcej →