
Fondamenti del linguaggio C#
Nullable types, generics, attributes, extension methods, type casting, enum avanzati
1Qual è la sintassi corretta per dichiarare una variabile nullable int in C#?
Qual è la sintassi corretta per dichiarare una variabile nullable int in C#?
Risposta
In C#, un nullable type per i value types si dichiara con il suffisso '?' dopo il tipo (int?, bool?, DateTime?). Questo consente ai value types di avere un valore null, cosa non possibile per impostazione predefinita. I nullable types sono utili per rappresentare l'assenza di valore negli scenari di database o API.
2Quale operatore consente di fornire un valore predefinito se una variabile nullable è null?
Quale operatore consente di fornire un valore predefinito se una variabile nullable è null?
Risposta
L'operatore null-coalescing '??' restituisce il valore di sinistra se non è null, altrimenti il valore di destra. Questo operatore è molto utile per gestire i nullable types ed evitare NullReferenceException. Esiste anche l'operatore '??=' per l'assegnazione condizionale introdotto in C# 8.
3Qual è la differenza tra il casting con '(Type)' e 'as' in C#?
Qual è la differenza tra il casting con '(Type)' e 'as' in C#?
Risposta
Il cast '(Type)object' genera una InvalidCastException se la conversione fallisce, mentre l'operatore 'as' restituisce null in caso di fallimento. L'operatore 'as' funziona solo con reference types e nullable value types. Usa 'as' per evitare eccezioni nei casi in cui null è un valore accettabile.
Come verificare se una variabile nullable ha un valore prima di usarla?
Qual è la sintassi per dichiarare una classe generica con un vincolo di tipo?
+12 domande da colloquio
Altri argomenti di colloquio .NET
Fondamenti di C#
LINQ & Delegates
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
Funzionalità avanzate di C#
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