# Essentiels du langage C# (.NET) > Nullable types, generics, attributes, extension methods, type casting, enums avancés - 15 questions d'entretien - Junior - [Questions d'entretien: .NET](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien.md) ## 1. 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. ## 2. 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. ## 3. 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. ## 12 questions supplémentaires disponibles - 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 ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien .NET - [Les bases de C#](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/csharp-basics.md): 25 questions, Junior - [LINQ & Delegates](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/csharp-linq-delegates.md): 20 questions, Junior - [Fondamentaux ASP.NET Core](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/aspnet-core-fundamentals.md): 18 questions, Junior - [Cycle de vie des requêtes ASP.NET Core](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/aspnet-core-request-lifecycle.md): 20 questions, Junior - [Configuration & Settings](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/configuration-settings.md): 20 questions, Junior - [Cycle de vie de l'application](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/application-lifecycle.md): 20 questions, Junior - [Dependency Injection](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/dependency-injection.md): 24 questions, Confirmé - [Entity Framework Core](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/entity-framework-core.md): 25 questions, Confirmé - [Minimal APIs](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/minimal-apis.md): 18 questions, Confirmé - [Développement Web API](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/web-api-development.md): 22 questions, Confirmé - [Async côté ASP.NET Core](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/async-aspnet-core.md): 20 questions, Confirmé - [Authentication & Authorization](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/authentication-authorization.md): 18 questions, Confirmé - [HttpClient & Networking](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/httpclient-networking.md): 20 questions, Confirmé - [Sérialisation JSON](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/json-serialization.md): 20 questions, Confirmé - [Entity Framework Core avancé](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/ef-core-advanced.md): 25 questions, Confirmé - [Fonctionnalités avancées C#](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/csharp-advanced-features.md): 20 questions, Confirmé - [Clean Architecture](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/clean-architecture.md): 20 questions, Confirmé - [Logging, Monitoring & Observability](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/logging-monitoring.md): 22 questions, Confirmé - [Tests unitaires & xUnit](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/unit-testing-xunit.md): 20 questions, Confirmé - [Tests d'intégration](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/integration-testing.md): 18 questions, Confirmé - [Docker & Containerization](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/docker-containerization.md): 16 questions, Confirmé - [NuGet Package Management](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/nuget-package-management.md): 16 questions, Confirmé - [Memory Management & GC](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/memory-management-gc.md): 22 questions, Senior - [Programmation réactive](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/reactive-programming.md): 24 questions, Senior - [Async/await & Patterns](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/async-await-patterns.md): 26 questions, Senior - [.NET Design Patterns](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/dotnet-design-patterns.md): 24 questions, Senior - [Optimisation des performances](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/performance-optimization.md): 22 questions, Senior - [Sécurité & Best Practices](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/security-best-practices.md): 24 questions, Senior - [SignalR & Real-time](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/signalr-realtime.md): 22 questions, Senior - [Architecture Microservices](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/microservices-architecture.md): 25 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/csharp-language-essentials