Accepter l’entrée utilisateur

Terminée

Tip

Pour plus d’informations, consultez l’onglet Texte et images !

Les programmes deviennent vraiment puissants quand ils peuvent interagir avec les personnes qui les utilisent. La méthode C# vous permet de Console.ReadLine() suspendre votre programme, d’attendre que l’utilisateur tape quelque chose et de capturer ces informations.

Utilisation de Console.ReadLine()

Considérez la méthode Console.ReadLine() comme une invite de question. Lorsque votre programme atteint cette ligne, il attend que l’utilisateur tape sa réponse et appuie sur la touche Entrée avant de continuer.

Pour enregistrer la réponse de l’utilisateur, vous devez l’intercepter à l’aide d’une variable :

string favoriteColor = Console.ReadLine();
Console.WriteLine("Oh, I love " + favoriteColor + " too!");

Dans ce code, favoriteColor est une variable (conteneur qui contient une valeur). Lorsque vous exécutez ce programme, il attend l’entrée. Si l’utilisateur tape Orange et appuie sur Entrée, la sortie est la suivante :

Orange
Oh, I love Orange too!

Vous pouvez essayer d’exécuter ce code vous-même dans l’éditeur de code C#.

Ajouter un espace à la fin de votre invite

Pour rendre l’entrée utilisateur plus lisible, combinez Console.Write() avec Console.ReadLine():

Console.Write("What is your favorite color? ");
string favoriteColor = Console.ReadLine();
Console.WriteLine("Oh, I love " + favoriteColor + " too!");

Notez l’espace à la fin de l’invite : "What is your favorite color? ". Sans cela, l’entrée de l’utilisateur semble collée à votre texte : What is your favorite color?Orange. L’ajout d’un espace rend plus clair.

Présentation des types de données

Chaque valeur en C# a un type de données, qui indique à l’ordinateur quel type de valeur il est. Voici quelques types de données courants :

  • Chaîne (string) : Texte encapsulé entre guillemets, comme "Blue" ou "25". Même un nombre devient du texte lorsqu’il est entre guillemets.
  • Entier (int) : nombre entier sans guillemets, comme 25 ou 100. Vous pouvez faire des mathématiques avec celles-ci.

Pourquoi est-ce important ? C# traite ces types différemment. Vous pouvez additionner des nombres ( 26 est égal à 25 + 1 ), mais vous ne pouvez pas additionner directement un nombre à du texte sans traitement particulier.

Console.ReadLine() retourne toujours une chaîne

Une règle essentielle à mémoriser est qu’il Console.ReadLine() retourne toujours du texte (une chaîne), même si l’utilisateur tape un nombre. Par exemple:

string age = Console.ReadLine();
Console.WriteLine(age + 1); // This causes an error!

Si vous exécutez ce code et tapez 25, le programme n’imprime 26pas . Au lieu de cela, il tente d’ajouter 1 au texte "25", ce que C# n’autorise pas. C’est une erreur courante pour débutant !

Pour effectuer des calculs mathématiques avec l’entrée utilisateur, vous devrez d’abord convertir le texte en nombre, mais nous aborderons cela plus tard. Pour l’instant, retenez ceci : tout ce que l’utilisateur saisit est toujours considéré comme du texte.