Fondamenti di C#

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

C#
Esegui il codice →
Program.cs
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.");
        }
    }
}
Risultato dell'esecuzione
What is your name? Ada
How old are you? 29
Hello, Ada!
In 10 years you will be 39.

Esercitati con il debugger

Metti un breakpoint su un'assegnazione o una condizione importante, fai clic su Debug ed esamina i valori locali prima di passare alla riga successiva.

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.

Tutte le sfide