Input e output in C#: Console.ReadLine, Write e WriteLine

Un algoritmo legge i dati di ingresso, li elabora e restituisce un risultato in uscita. Nei primi programmi C# la tastiera è il dispositivo di input e lo schermo quello di output.

Stampare sullo schermo

Console.Write("Come ti chiami? ");
Console.WriteLine("Scrivi il tuo nome.");
Console.WriteLine($"2 + 3 = {2 + 3}");

Console.Write non aggiunge il ritorno a capo. Console.WriteLine termina invece la riga. Le stringhe interpolate iniziano con $ e consentono di inserire espressioni tra graffe.

Leggere una stringa

Console.Write("Nome: ");
string nome = Console.ReadLine() ?? "";
Console.WriteLine($"Benvenuto, {nome}!");

ReadLine() legge una riga di testo e restituisce una stringa (o null in alcune condizioni, per esempio se il flusso è terminato). L’operatore ?? in questo esempio usa una stringa vuota come valore alternativo.

Leggere un numero e convertirlo

Console.Write("Inserisci il lato: ");
int lato = int.Parse(Console.ReadLine() ?? "0");
int perimetro = 4 * lato;
Console.WriteLine($"Perimetro: {perimetro}");

int.Parse tenta di convertire il testo in un intero, ma genera un errore se il testo non rappresenta un numero valido. In un secondo momento si può passare a int.TryParse per controllare i dati senza interrompere il programma.

Una versione che controlla l’input

Console.Write("Inserisci un intero: ");
string testo = Console.ReadLine() ?? "";
if (int.TryParse(testo, out int numero))
{
    Console.WriteLine($"Il doppio è {numero * 2}");
}
else
{
    Console.WriteLine("Devi inserire un numero intero.");
}

Esempio completo: somma di due valori interi

Problema. Leggere due numeri interi dalla tastiera, calcolare la somma e visualizzare il risultato. Input: due interi. Elaborazione: addizione. Output: la somma.

Console.Write("Primo numero: ");
int primo = int.Parse(Console.ReadLine() ?? "0");
Console.Write("Secondo numero: ");
int secondo = int.Parse(Console.ReadLine() ?? "0");
int somma = primo + secondo;
Console.WriteLine($"La somma è {somma}");

Traccia: con input 12 e 5, primo = 12, secondo = 5 e somma = 17. Prova poi con 0, numeri negativi e valori di segno diverso. Il parsing presuppone che l’utente digiti interi validi.

Schema di analisi: input → elaborazione → output

ProblemaInputElaborazioneOutput
Perimetro quadratoLato4 * latoPerimetro
Media di due numeria, b(a + b) / 2.0Media reale
Area rettangoloBase, altezzabase * altezzaArea

Esercizi

  • Scrivi un programma che legga il nome di una città e la ristampi in una frase.
  • Leggi base e altezza di un rettangolo e visualizza area e perimetro.
  • Prova a digitare testo quando il programma chiede un intero. Descrivi la differenza tra Parse e TryParse.

Nel percorso: ← Variabili · Indice del corso · Operatori matematici →