string w C# — czym jest i jak działa
Jesli piszesz pierwszy kod w C#, pedzisz pewnie pelna para: zmienne, instrukcje warunkowe, petle. A potem nagle — name.Trim() nie zmienia Twojego stringa. Albo aplikacja zwalnia…
Czytaj więcej →C#, .NET, wzorce projektowe, algorytmy i zadania rekrutacyjne — wiedza, która realnie przybliża Cię do pierwszej pracy w IT.
Jesli piszesz pierwszy kod w C#, pedzisz pewnie pelna para: zmienne, instrukcje warunkowe, petle. A potem nagle — name.Trim() nie zmienia Twojego stringa. Albo aplikacja zwalnia…
Czytaj więcej →Test jednostkowy sprawdza jedną klasę w izolacji. Test integracyjny sprawdza, czy cały pipeline — routing, middleware, dependency injection, serializacja JSON — faktycznie działa razem, wysyłając prawdziwe…
Czytaj więcej →Pattern Matching w C# – switch expressions i type patterns Otwierasz klasę z logiką biznesową i nagle dostajesz w twarz „drabiną” instrukcji if-else, która ciągnie się…
Czytaj więcej →Assert.Equal(oczekiwany, wynik) działa, ale gdy test padnie, komunikat błędu bywa lakoniczny. FluentAssertions to biblioteka, która zamienia asercje w czytelne zdania (wynik.Should().Be(oczekiwany)) i — ważniejsze — generuje…
Czytaj więcej →Value types vs reference types w C# — stack, heap i boxing na przykładach Napisz taki kod i zapytaj o wynik dowolnego początkującego programistę: Jeśli nie…
Czytaj więcej →Jak stworzyć i opublikować pakiet NuGet w .NET (C#) Chcesz przestać kopiować kod między projektami i zacząć budować prawdziwą architekturę w .NET? W tym artykule pokażę…
Czytaj więcej →Klasa, którą chcesz przetestować, często zależy od innych klas — repozytorium bazy danych, klienta HTTP, wysyłki e-maili. Moq pozwala podstawić w ich miejsce “atrapę”, która zachowuje…
Czytaj więcej →W poprzednim artykule “Class, struct czy record w C#?” ustaliliśmy, że struct to typ wartościowy — żyje na stosie (albo inline wewnątrz obiektu), nie może być…
Czytaj więcej →“Jaka jest różnica między class a struct?” to jedno z najczęstszych pytań rekrutacyjnych na Junior .NET Developera — i jedno z tych, na które większość kandydatów odpowiada teoretycznie (“struct…
Czytaj więcej →NullReferenceException to najczęściej spotykany wyjątek w kodzie .NET — i przez dekady C# nie dawał kompilatorowi żadnego sposobu, żeby ostrzec cię o nim wcześniej niż w runtime.…
Czytaj więcej →C# Records i wyrażenie with – niemutowalny kod bez boilerplate’u Mutowalne klasy w C# to jeden z najczęstszych powodów trudnych do wykrycia bugów, nieczytelnego kodu i…
Czytaj więcej →Ręczne parsowanie wzorców tekstowych przez IndexOf/Substring szybko robi się kruche — każdy nowy przypadek brzegowy to kolejny if. Wyrażenia regularne (regex) opisują wzorzec deklaratywnie, jednym ciągiem znaków, zamiast proceduralnie krok…
Czytaj więcej →Każde wywołanie Substring(), array.Skip(1).Take(3) czy string.Split() tworzy w pamięci nową kopię danych. W kodzie, który parsuje raz plik konfiguracyjny, to nieistotne. W kodzie, który parsuje tysiące wierszy na sekundę — te…
Czytaj więcej →Pobierz darmową Roadmapę .NET i zobacz, jak ułożyć te wszystkie tematy w spójną ścieżkę do pierwszej pracy.
Pobieram roadmapę →Używamy plików cookie do analityki (żeby wiedzieć, które materiały są przydatne) i do reklam. Wybierz jedną z trzech opcji — każdą możesz później zmienić przyciskiem „Zarządzaj zgodą”.
Polityka prywatności · Polityka cookies