
Fonctionnalités avancées C#
Pattern matching, records, tuples, deconstruction, local functions, ref/out parameters
1Qu'est-ce qu'un record en C# ?
Qu'est-ce qu'un record en C# ?
Réponse
Un record est un type référence immuable introduit en C# 9 qui fournit une syntaxe concise pour créer des types de données avec égalité par valeur. Contrairement aux classes ordinaires qui utilisent l'égalité par référence, les records comparent les valeurs de leurs propriétés. Utiliser les records pour les DTOs, les value objects et les types immuables où l'égalité par valeur est souhaitable.
2Quelle est la différence entre out et ref en C# ?
Quelle est la différence entre out et ref en C# ?
Réponse
Le paramètre out ne nécessite pas d'initialisation avant l'appel de la méthode mais doit être assigné dans la méthode, tandis que ref nécessite l'initialisation avant l'appel et peut être modifié ou non dans la méthode. Les deux passent par référence mais out est optimisé pour retourner plusieurs valeurs tandis que ref est utilisé pour modifier une variable existante. Utiliser out pour les méthodes qui retournent plusieurs résultats et ref quand il est nécessaire de modifier une valeur existante.
3Qu'est-ce que le pattern matching en C# ?
Qu'est-ce que le pattern matching en C# ?
Réponse
Le pattern matching est une fonctionnalité permettant de tester une valeur contre différents motifs (types, valeurs, propriétés) et d'exécuter du code basé sur le motif correspondant. Introduit en C# 7 et amélioré dans les versions ultérieures, il simplifie les structures conditionnelles complexes avec switch expressions, property patterns et type patterns. Utiliser le pattern matching pour remplacer les chaînes if-else complexes et améliorer la lisibilité du code.
Qu'est-ce qu'un tuple en C# et comment le déclarer ?
Qu'est-ce qu'une fonction locale en C# ?
+17 questions d'entretien
Autres sujets d'entretien .NET
Les bases de C#
LINQ & Delegates
Essentiels du langage C#
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é
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