
Funzionalità avanzate di C#
Pattern matching, records, tuples, deconstruction, local functions, parametri ref/out
1Che cos'è un record in C#?
Che cos'è un record in C#?
Risposta
Un record è un tipo riferimento immutabile introdotto in C# 9 che fornisce una sintassi concisa per creare tipi di dati con uguaglianza basata sul valore. A differenza delle classi normali che usano l'uguaglianza per riferimento, i record confrontano i valori delle loro proprietà. Usa i record per DTO, value object e tipi immutabili dove è desiderabile l'uguaglianza basata sul valore.
2Qual è la differenza tra out e ref in C#?
Qual è la differenza tra out e ref in C#?
Risposta
Il parametro out non richiede l'inizializzazione prima della chiamata al metodo ma deve essere assegnato nel metodo, mentre ref richiede l'inizializzazione prima della chiamata e può essere modificato o meno nel metodo. Entrambi passano per riferimento ma out è ottimizzato per restituire più valori mentre ref è usato per modificare una variabile esistente. Usa out per metodi che restituiscono più risultati e ref quando è necessaria la modifica di un valore esistente.
3Che cos'è il pattern matching in C#?
Che cos'è il pattern matching in C#?
Risposta
Il pattern matching è una funzionalità che consente di testare un valore rispetto a diversi pattern (tipi, valori, proprietà) ed eseguire codice in base al pattern corrispondente. Introdotto in C# 7 e migliorato nelle versioni successive, semplifica le strutture condizionali complesse con switch expression, property pattern e type pattern. Usa il pattern matching per sostituire catene if-else complesse e migliorare la leggibilità del codice.
Che cos'è un tuple in C# e come si dichiara?
Che cos'è una local function in C#?
+17 domande da colloquio
Altri argomenti di colloquio .NET
Fondamenti di C#
LINQ & Delegates
Fondamenti del linguaggio C#
Fondamenti di ASP.NET Core
Ciclo di vita delle richieste in ASP.NET Core
Configuration & Settings
Ciclo di vita dell'applicazione
Dependency Injection
Entity Framework Core
Minimal APIs
Sviluppo di Web API
Async in ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serializzazione JSON
Entity Framework Core avanzato
Clean Architecture
Logging, Monitoring & Observability
Test unitari & xUnit
Test di integrazione
Docker & Containerization
Gestione dei pacchetti NuGet
Memory Management & GC
Programmazione reattiva
Async/await & Pattern
.NET Design Patterns
Ottimizzazione delle prestazioni
Sicurezza e Best Practices
SignalR e tempo reale
Architettura a Microservizi
Padroneggia .NET per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis