
Podstawy języka C#
Nullable types, generics, attributes, extension methods, type casting, zaawansowane enumy
1Jaka jest poprawna składnia deklarowania zmiennej nullable int w C#?
Jaka jest poprawna składnia deklarowania zmiennej nullable int w C#?
Odpowiedź
W C# nullable type dla value types deklaruje się przyrostkiem '?' po typie (int?, bool?, DateTime?). Pozwala to value types przyjmować wartość null, co domyślnie nie jest możliwe. Nullable types są przydatne do reprezentowania braku wartości w scenariuszach bazy danych lub API.
2Który operator pozwala dostarczyć wartość domyślną, jeśli zmienna nullable jest null?
Który operator pozwala dostarczyć wartość domyślną, jeśli zmienna nullable jest null?
Odpowiedź
Operator null-coalescing '??' zwraca wartość po lewej stronie, jeśli nie jest null, w przeciwnym razie wartość po prawej. Ten operator jest bardzo przydatny do obsługi nullable types i unikania NullReferenceException. Istnieje również operator '??=' do przypisania warunkowego wprowadzony w C# 8.
3Jaka jest różnica między rzutowaniem za pomocą '(Type)' a 'as' w C#?
Jaka jest różnica między rzutowaniem za pomocą '(Type)' a 'as' w C#?
Odpowiedź
Rzutowanie '(Type)object' rzuca InvalidCastException, jeśli konwersja się nie powiedzie, podczas gdy operator 'as' zwraca null w przypadku niepowodzenia. Operator 'as' działa tylko z reference types i nullable value types. Używaj 'as', aby uniknąć wyjątków w przypadkach, gdy null jest akceptowalną wartością.
Jak sprawdzić, czy zmienna nullable ma wartość przed jej użyciem?
Jaka jest składnia deklarowania klasy generycznej z ograniczeniem typu?
+12 pytań z rozmów
Inne tematy rekrutacyjne .NET
Podstawy C#
LINQ & Delegates
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
Zaawansowane funkcje C#
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