Menu
Coddy logo textTech

Accesso null-aware

Fa parte della sezione Fondamenti del percorso Dart di Coddy. Lezione 29 di 94.

L’operatore di accesso consapevole dei valori null (?.) accede in modo sicuro alle proprietà di oggetti potenzialmente null, prevenendo errori di runtime.

void main() {
  String? name = 'Dart';
  int? length = name?.length;
  
  print('Name: $name');
  print('Length: $length');
}

Con i valori null, restituisce null invece di bloccarsi:

void main() {
  String? name = null;
  int? length = name?.length;
  
  print('Name: $name');
  print('Length: $length');
}
challenge icon

Sfida

Facile

Crea un programma Dart che dimostri l’operatore di accesso con controllo dei valori null (?.) con un personaggio di un gioco:

  1. Crea una variabile nullable di tipo String chiamata playerName e assegnale null
  2. Crea una variabile nullable di tipo int chiamata playerScore e assegnale 100
  3. Usa l’operatore di accesso con controllo dei valori null (?.) per ottenere la lunghezza di playerName e memorizzarla in una variabile chiamata nameLength
  4. Stampa il seguente messaggio: Player name length: X (dove X è il valore di nameLength)
  5. Aggiorna playerName impostandolo su "Champion"
  6. Usa di nuovo l’operatore di accesso con controllo dei valori null per ottenere la lunghezza aggiornata e memorizzarla in nameLength
  7. Stampa il messaggio aggiornato: Player name length: X (dove X è il nuovo valore)
  8. Stampa il punteggio del giocatore con questo formato: Player score: 100

Provalo tu

void main() {
  // Dichiara qui le tue variabili nullable
  String? playerName = _;
  int? playerScore = _;
  
  // Ottieni la lunghezza di playerName usando l'operatore ?.
  int? nameLength = playerName_.length;
  
  // Stampa la lunghezza iniziale del nome
  print("Player name length: ${nameLength}");
  
  // Aggiorna playerName
  playerName = _;
  
  // Ottieni la lunghezza aggiornata usando l'operatore ?.
  nameLength = playerName_.length;
  
  // Stampa la lunghezza aggiornata del nome
  print("Player name length: ${nameLength}");
  
  // Stampa il punteggio del giocatore
  print("Player score: ${playerScore}");
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Dart online