
Essentiels du langage C#
Nullable types, generics, attributes, extension methods, type casting, enums avancés
1Quelle est la syntaxe correcte pour déclarer une variable nullable int en C# ?
Quelle est la syntaxe correcte pour déclarer une variable nullable int en C# ?
Réponse
En C#, un nullable type pour les value types se déclare avec le suffixe '?' après le type (int?, bool?, DateTime?). Cela permet aux value types d'avoir une valeur null, ce qui n'est pas possible par défaut. Nullable types sont utiles pour représenter l'absence de valeur dans les scénarios de base de données ou d'API.
2Quel opérateur permet de fournir une valeur par défaut si une variable nullable est null ?
Quel opérateur permet de fournir une valeur par défaut si une variable nullable est null ?
Réponse
L'opérateur null-coalescing '??' retourne la valeur de gauche si elle n'est pas null, sinon la valeur de droite. Cet opérateur est très utile pour gérer les nullable types et éviter les NullReferenceException. Il existe aussi l'opérateur '??=' pour l'assignation conditionnelle introduit en C# 8.
3Quelle est la différence entre le casting avec '(Type)' et 'as' en C# ?
Quelle est la différence entre le casting avec '(Type)' et 'as' en C# ?
Réponse
Le cast '(Type)objet' lève une InvalidCastException si la conversion échoue, tandis que l'opérateur 'as' retourne null en cas d'échec. L'opérateur 'as' ne fonctionne qu'avec les reference types et nullable value types. Utiliser 'as' pour éviter les exceptions dans les cas où null est une valeur acceptable.
Comment vérifier si une variable nullable a une valeur avant de l'utiliser ?
Quelle est la syntaxe pour déclarer une classe générique avec une contrainte de type ?
+12 questions d'entretien
Autres sujets d'entretien .NET
Les bases de C#
LINQ & Delegates
Fondamentaux ASP.NET Core
Cycle de vie des requêtes ASP.NET Core
Configuration & Settings
Cycle de vie de l'application
Dependency Injection
Entity Framework Core
Minimal APIs
Développement Web API
Async côté ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Sérialisation JSON
Entity Framework Core avancé
Fonctionnalités avancées C#
Clean Architecture
Logging, Monitoring & Observability
Tests unitaires & xUnit
Tests d'intégration
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programmation réactive
Async/await & Patterns
.NET Design Patterns
Optimisation des performances
Sécurité & Best Practices
SignalR & Real-time
Architecture Microservices
Maîtrise .NET pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement