Leggere dati dalla tastiera in C#
In questa lezione leggerai ciò che scrive l'utente con Console.ReadLine e lo convertirai in numero in modo sicuro con int.TryParse.
Introduzione
Il metodo Console.ReadLine ferma il programma finché l'utente non scrive una riga e preme Invio, poi restituisce quanto scritto come stringa. Dato che il dato ricevuto è sempre una stringa, devi convertirlo in numero prima dei calcoli e gestire il caso in cui l'utente scriva qualcosa di sbagliato.
Console.ReadLine può restituire null quando non ci sono più dati in ingresso, per questo l'operatore ?? fornisce un valore predefinito, come "friend". Il metodo int.TryParse prova a convertire la stringa in numero e restituisce false invece di generare un errore se la stringa non è valida, mentre il risultato esce dalla variabile out int age. Quando esegui nel compilatore online, scrivi la risposta quando compare il messaggio.
Esempio C# eseguibile
using System;
class Program
{
static void Main()
{
// Console.ReadLine returns the typed line, or null when input ends.
Console.Write("What is your name? ");
string name = Console.ReadLine() ?? "friend";
// int.TryParse converts text safely instead of throwing on bad input.
Console.Write("How old are you? ");
string text = Console.ReadLine() ?? "";
if (int.TryParse(text, out int age))
{
Console.WriteLine($"Hello, {name}!");
Console.WriteLine($"In 10 years you will be {age + 10}.");
}
else
{
Console.WriteLine($"\"{text}\" is not a whole number.");
}
}
}
What is your name? Ada
How old are you? 29
Hello, Ada!
In 10 years you will be 39.Esercitati con il debugger
Esercitati con una sfida
Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.
- Average of Three Average three whole numbers. Facile
- Celsius to Fahrenheit Convert a temperature from Celsius to Fahrenheit. Facile