Input e output di base C #

In questo tutorial impareremo come prendere l'input dall'utente e visualizzare l'output in C # usando vari metodi

Uscita C #

Per produrre qualcosa in C #, possiamo usare

 System.Console.WriteLine () OPPURE System.Console.Write ()

Qui, Systemè uno spazio dei nomi, Consoleè una classe all'interno dello spazio dei nomi Systeme WriteLinee Writesono i metodi della classe Console.

Diamo un'occhiata a un semplice esempio che stampa una stringa sullo schermo di output.

Esempio 1: stampa di una stringa utilizzando WriteLine ()

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("C# is cool"); ) ) ) 

Quando eseguiamo il programma, l'output sarà

 C # è fantastico

Differenza tra il metodo WriteLine () e Write ()

La differenza principale tra WriteLine()e Write()è che il Write()metodo stampa solo la stringa fornita, mentre il WriteLine()metodo stampa la stringa e si sposta anche all'inizio della riga successiva.

Diamo un'occhiata all'esempio seguente per capire la differenza tra questi metodi.

Esempio 2: come utilizzare il metodo WriteLine () e Write ()?

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("Prints on "); Console.WriteLine("New line"); Console.Write("Prints on "); Console.Write("Same line"); ) ) ) 

Quando eseguiamo il programma, l'output sarà

 Stampa sulla nuova riga Stampa sulla stessa riga

Stampa di variabili e valori letterali utilizzando WriteLine () e Write ()

Il metodo WriteLine()e Write()può essere utilizzato per stampare variabili e letterali. Ecco un esempio.

Esempio 3: stampa di variabili e valori letterali

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( int value = 10; // Variable Console.WriteLine(value); // Literal Console.WriteLine(50.05); ) ) ) 

Quando eseguiamo il programma, l'output sarà

 10 50.05

Combinare (concatenare) due stringhe utilizzando l'operatore + e stamparle

Le stringhe possono essere combinate / concatenate utilizzando l' +operatore durante la stampa.

Esempio 4: stampa di stringhe concatenate utilizzando l'operatore +

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( int val = 55; Console.WriteLine("Hello " + "World"); Console.WriteLine("Value = " + val); ) ) ) 

Quando eseguiamo il programma, l'output sarà

 Hello World Value = 55

Stampa di una stringa concatenata utilizzando una stringa formattata (alternativa migliore)

Un'alternativa migliore per la stampa di stringhe concatenate è l'utilizzo di stringhe formattate. La stringa formattata consente al programmatore di utilizzare segnaposto per le variabili. Per esempio,

La riga seguente,

 Console.WriteLine ("Value =" + val);

può essere sostituito da,

 Console.WriteLine ("Value = (0)", val);

(0)è il segnaposto per la variabile val che verrà sostituita dal valore di val. Poiché viene utilizzata solo una variabile, è presente un solo segnaposto.

È possibile utilizzare più variabili nella stringa formattata. Lo vedremo nell'esempio sotto.

Esempio 5: stampa di stringhe concatenate utilizzando la formattazione String

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( int firstNumber = 5, secondNumber = 10, result; result = firstNumber + secondNumber; Console.WriteLine("(0) + (1) = (2)", firstNumber, secondNumber, result); ) ) ) 

Quando eseguiamo il programma, l'output sarà

 5 + 10 = 15

Qui, (0)è sostituito da firstNumber, (1)è sostituito da secondNumber ed (2)è sostituito da result. Questo approccio di stampa dell'output è più leggibile e meno soggetto a errori rispetto all'utilizzo +dell'operatore.

Per saperne di più sulla formattazione delle stringhe, visita formattazione di stringhe C #.

Input C #

In C #, il metodo più semplice per ottenere input dall'utente consiste nell'usare il ReadLine()metodo della Consoleclasse. Tuttavia, Read()e ReadKey()sono anche disponibili per ottenere input dall'utente. Sono inclusi anche in Consoleclasse.

Esempio 6: Ottieni input di stringa dall'utente

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( string testString; Console.Write("Enter a string - "); testString = Console.ReadLine(); Console.WriteLine("You entered '(0)'", testString); ) ) ) 

Quando eseguiamo il programma, l'output sarà:

 Inserisci una stringa: Hello World Hai inserito "Hello World"

Differenza tra il metodo ReadLine (), Read () e ReadKey ():

La differenza tra ReadLine(), Read()e ReadKey()il metodo è:

  • ReadLine(): Il ReadLine()metodo legge la riga di input successiva dal flusso di input standard. Restituisce la stessa stringa.
  • Read(): Il Read()metodo legge il carattere successivo dal flusso di input standard. Restituisce il valore ASCII del carattere.
  • ReadKey(): Il ReadKey()metodo ottiene il tasto successivo premuto dall'utente. Questo metodo viene solitamente utilizzato per tenere premuto lo schermo finché l'utente non preme un tasto.

Se vuoi saperne di più su questi metodi, ecco una discussione interessante su StackOverflow su: Difference between Console.Read () and Console.ReadLine () ?.

Esempio 7: differenza tra il metodo Read () e ReadKey ()

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( int userInput; Console.WriteLine("Press any key to continue… "); Console.ReadKey(); Console.WriteLine(); Console.Write("Input using Read() - "); userInput = Console.Read(); Console.WriteLine("Ascii Value = (0)",userInput); ) ) )

Quando eseguiamo il programma, l'output sarà

 Premere un tasto qualsiasi per continuare … x Immettere utilizzando Read () - Apprendimento di C # Ascii Value = 76

Da questo esempio, deve essere chiaro come funziona ReadKey()e il Read()metodo. Durante l'utilizzo ReadKey(), non appena il tasto viene premuto, viene visualizzato sullo schermo.

Quando Read()viene utilizzato, richiede un'intera riga ma restituisce solo il valore ASCII del primo carattere. Quindi, viene stampato 76(valore ASCII di L).

Lettura di valori numerici (tipi interi e virgola mobile)

Leggere un carattere o una stringa è molto semplice in C #. Tutto quello che devi fare è chiamare i metodi corrispondenti come richiesto.

Tuttavia, la lettura di valori numerici può essere leggermente complicata in C #. Useremo ancora lo stesso ReadLine()metodo che abbiamo usato per ottenere i valori di stringa. Ma poiché il ReadLine()metodo riceve l'input come stringa, deve essere convertito in un tipo intero o in virgola mobile.

Un semplice approccio per convertire il nostro input è utilizzare i metodi di Convertclasse.

Esempio 8: lettura di valori numerici dall'utente utilizzando la classe Convert

 using System; namespace UserInput ( class MyClass ( public static void Main(string() args) ( string userInput; int intVal; double doubleVal; Console.Write("Enter integer value: "); userInput = Console.ReadLine(); /* Converts to integer type */ intVal = Convert.ToInt32(userInput); Console.WriteLine("You entered (0)",intVal); Console.Write("Enter double value: "); userInput = Console.ReadLine(); /* Converts to double type */ doubleVal = Convert.ToDouble(userInput); Console.WriteLine("You entered (0)",doubleVal); ) ) ) 

Quando eseguiamo il programma, l'output sarà

 Immettere un valore intero: 101 È stato immesso 101 Immettere un valore doppio: 59,412 È stato immesso 59,412

Il metodo ToInt32()e ToDouble()della classe Convert converte la stringa di input rispettivamente in intero e doppio. Allo stesso modo possiamo convertire l'input in altri tipi. Ecco un elenco completo dei metodi disponibili per la classe Convert.

Esistono altri modi per ottenere input numerici dall'utente. Per saperne di più, visita Leggere un numero intero dall'input dell'utente.

Articoli interessanti...