
Zaawansowane funkcje C#
Pattern matching, records, tuples, deconstruction, local functions, parametry ref/out
1Czym jest record w C#?
Czym jest record w C#?
Odpowiedź
record to niezmienny typ referencyjny wprowadzony w C# 9, który zapewnia zwięzłą składnię do tworzenia typów danych z równością opartą na wartościach. W przeciwieństwie do zwykłych klas, które używają równości referencyjnej, record porównuje wartości swoich właściwości. Używaj record dla DTO, value object i typów niezmiennych, gdzie pożądana jest równość oparta na wartościach.
2Jaka jest różnica między out a ref w C#?
Jaka jest różnica między out a ref w C#?
Odpowiedź
Parametr out nie wymaga inicjalizacji przed wywołaniem metody, ale musi zostać przypisany w metodzie, podczas gdy ref wymaga inicjalizacji przed wywołaniem i może, ale nie musi być zmodyfikowany w metodzie. Oba przekazują przez referencję, ale out jest zoptymalizowany pod kątem zwracania wielu wartości, podczas gdy ref służy do modyfikacji istniejącej zmiennej. Używaj out dla metod zwracających wiele wyników, a ref gdy potrzebna jest modyfikacja istniejącej wartości.
3Czym jest pattern matching w C#?
Czym jest pattern matching w C#?
Odpowiedź
pattern matching to funkcja umożliwiająca testowanie wartości względem różnych wzorców (typów, wartości, właściwości) i wykonywanie kodu na podstawie dopasowanego wzorca. Wprowadzony w C# 7 i ulepszony w późniejszych wersjach, upraszcza złożone struktury warunkowe za pomocą switch expression, property pattern i type pattern. Używaj pattern matching, aby zastąpić złożone łańcuchy if-else i poprawić czytelność kodu.
Czym jest tuple w C# i jak go zadeklarować?
Czym jest local function w C#?
+17 pytań z rozmów
Inne tematy rekrutacyjne .NET
Podstawy C#
LINQ & Delegates
Podstawy języka C#
Podstawy ASP.NET Core
Cykl życia żądania w ASP.NET Core
Configuration & Settings
Cykl życia aplikacji
Dependency Injection
Entity Framework Core
Minimal APIs
Tworzenie Web API
Async w ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serializacja JSON
Entity Framework Core zaawansowany
Clean Architecture
Logging, Monitoring & Observability
Testy jednostkowe & xUnit
Testy integracyjne
Docker & Containerization
Zarządzanie pakietami NuGet
Memory Management & GC
Programowanie reaktywne
Async/await i wzorce
.NET Design Patterns
Optymalizacja wydajności
Bezpieczeństwo i Best Practices
SignalR i czas rzeczywisty
Architektura Mikroserwisów
Opanuj .NET na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo