Entrée et sortie de base C #

Dans ce didacticiel, nous allons apprendre à prendre les entrées de l'utilisateur et à afficher la sortie en C # à l'aide de diverses méthodes

Sortie C #

Afin de produire quelque chose en C #, nous pouvons utiliser

 System.Console.WriteLine () OU System.Console.Write ()

Ici, Systemest un espace de noms, Consoleest une classe dans l'espace de noms Systemet WriteLineet Writesont des méthodes de classe Console.

Regardons un exemple simple qui imprime une chaîne sur l'écran de sortie.

Exemple 1: impression d'une chaîne à l'aide de WriteLine ()

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

Lorsque nous exécutons le programme, la sortie sera

 C # c'est cool

Différence entre les méthodes WriteLine () et Write ()

La principale différence entre WriteLine()et Write()est que la Write()méthode imprime uniquement la chaîne qui lui est fournie, tandis que la WriteLine()méthode imprime la chaîne et se déplace également au début de la ligne suivante.

Jetons un coup d'œil à l'exemple ci-dessous pour comprendre la différence entre ces méthodes.

Exemple 2: Comment utiliser les méthodes WriteLine () et 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"); ) ) ) 

Lorsque nous exécutons le programme, la sortie sera

 Imprime sur une nouvelle ligne Imprime sur la même ligne

Impression de variables et de littéraux à l'aide de WriteLine () et Write ()

La méthode WriteLine()and Write()peut être utilisée pour imprimer des variables et des littéraux. Voici un exemple.

Exemple 3: Impression de variables et de littéraux

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

Lorsque nous exécutons le programme, la sortie sera

 10 50,05

Combiner (concaténer) deux chaînes à l'aide de l'opérateur + et les imprimer

Les chaînes peuvent être combinées / concaténées à l'aide de l' +opérateur lors de l'impression.

Exemple 4: impression d'une chaîne concaténée à l'aide de l'opérateur +

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

Lorsque nous exécutons le programme, la sortie sera

 Valeur Hello World = 55

Impression d'une chaîne concaténée à l'aide d'une chaîne formatée (meilleure alternative)

Une meilleure alternative pour imprimer une chaîne concaténée consiste à utiliser une chaîne formatée. La chaîne formatée permet au programmeur d'utiliser des espaces réservés pour les variables. Par exemple,

La ligne suivante,

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

peut être remplacé par,

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

(0)est l'espace réservé pour la variable val qui sera remplacé par la valeur de val. Puisqu'une seule variable est utilisée, il n'y a donc qu'un seul espace réservé.

Plusieurs variables peuvent être utilisées dans la chaîne formatée. Nous verrons cela dans l'exemple ci-dessous.

Exemple 5: impression d'une chaîne concaténée à l'aide du formatage de chaîne

 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); ) ) ) 

Lorsque nous exécutons le programme, la sortie sera

 5 + 10 = 15

Ici, (0)est remplacé par firstNumber, (1)est remplacé par secondNumber et (2)est remplacé par result. Cette approche d'impression de la sortie est plus lisible et moins sujette aux erreurs que l'utilisation d'un +opérateur.

Pour en savoir plus sur la mise en forme des chaînes, consultez la section Mise en forme des chaînes C #.

Entrée C #

En C #, la méthode la plus simple pour obtenir une entrée de l'utilisateur consiste à utiliser la ReadLine()méthode de la Consoleclasse. Cependant, Read()et ReadKey()sont également disponibles pour obtenir des commentaires de l'utilisateur. Ils sont également inclus dans la Consoleclasse.

Exemple 6: obtenir une entrée de chaîne de l'utilisateur

 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); ) ) ) 

Lorsque nous exécutons le programme, la sortie sera:

 Entrez une chaîne - Hello World Vous avez entré «Hello World»

Différence entre les méthodes ReadLine (), Read () et ReadKey ():

La différence entre ReadLine(), Read()et la ReadKey()méthode est la suivante :

  • ReadLine(): La ReadLine()méthode lit la ligne d'entrée suivante à partir du flux d'entrée standard. Il renvoie la même chaîne.
  • Read(): La Read()méthode lit le caractère suivant du flux d'entrée standard. Il renvoie la valeur ascii du caractère.
  • ReadKey(): La ReadKey()méthode obtient la touche suivante pressée par l'utilisateur. Cette méthode est généralement utilisée pour maintenir l'écran jusqu'à ce que l'utilisateur appuie sur une touche.

Si vous souhaitez en savoir plus sur ces méthodes, voici une discussion intéressante sur StackOverflow sur: Différence entre Console.Read () et Console.ReadLine () ?.

Exemple 7: Différence entre les méthodes Read () et 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); ) ) )

Lorsque nous exécutons le programme, la sortie sera

 Appuyez sur n'importe quelle touche pour continuer… x Entrée en utilisant Read () - Learning C # Ascii Value = 76

À partir de cet exemple, il doit être clair comment ReadKey()et la Read()méthode fonctionne. Lors de l'utilisation ReadKey(), dès que la touche est enfoncée, elle s'affiche à l'écran.

Lorsqu'il Read()est utilisé, il prend une ligne entière mais ne renvoie que la valeur ASCII du premier caractère. Par conséquent, 76(valeur ASCII de L) est imprimée.

Lecture de valeurs numériques (types entier et virgule flottante)

La lecture d'un caractère ou d'une chaîne est très simple en C #. Tout ce que vous avez à faire est d'appeler les méthodes correspondantes selon vos besoins.

Mais la lecture des valeurs numériques peut être légèrement délicate en C #. Nous utiliserons toujours la même ReadLine()méthode que nous avons utilisée pour obtenir des valeurs de chaîne. Mais puisque la ReadLine()méthode reçoit l'entrée sous forme de chaîne, elle doit être convertie en type entier ou à virgule flottante.

Une approche simple pour convertir notre entrée consiste à utiliser les méthodes de Convertclasse.

Exemple 8: lecture des valeurs numériques de l'utilisateur à l'aide de 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); ) ) ) 

Lorsque nous exécutons le programme, la sortie sera

 Entrez une valeur entière: 101 Vous avez entré 101 Entrez une valeur double: 59,412 Vous avez entré 59,412

La méthode ToInt32()and ToDouble()de la classe Convert convertit respectivement l'entrée de chaîne en type entier et double. De même, nous pouvons convertir l'entrée en d'autres types. Voici une liste complète des méthodes disponibles pour la classe Convert.

Il existe d'autres moyens d'obtenir des entrées numériques de l'utilisateur. Pour en savoir plus, consultez Lecture d'un entier à partir de l'entrée utilisateur.

Articles intéressants...