Cette documentation est archivée et n’est pas conservée.

Console, classe

Représente les flux d'entrée, de sortie et d'erreur standard pour les applications console. Cette classe ne peut pas être héritée.

Espace de noms : System
Assembly : mscorlib (dans mscorlib.dll)

public static class Console
public final class Console
public final class Console

La console est une fenêtre du système d'exploitation où les utilisateurs interagissent avec le système d'exploitation ou une application console de type texte en saisissant l'entrée de texte via le clavier de l'ordinateur et en lisant la sortie de texte sur l'ordinateur terminal. Par exemple, dans Windows, la console correspond à la fenêtre d'invite de commandes et accepte les commandes MS-DOS. La classe Console fournit la prise en charge de base pour les applications qui lisent ou écrivent des caractères dans la console.

Flux des E/S de console

Lorsqu'une application console démarre, le système d'exploitation associe automatiquement trois flux d'E/S à la console. Votre application peut lire l'entrée d'utilisateur depuis le flux d'entrée standard, écrire des données normales dans le flux de sortie standard et écrire les données d'erreur dans le flux de sortie d'erreur standard. Ces flux sont présentés à votre application comme les valeurs des propriétés In, Out et Error.

Par défaut, la valeur de la propriété In est un objet System.IO.TextReader, et les valeurs des propriétés Out et Error sont des objets System.IO.TextWriter. Cependant, vous pouvez associer ces propriétés aux flux qui ne représentent pas la console : par exemple, vous pouvez les associer aux flux qui représentent des fichiers. Les opérations d'E/S qui utilisent ces flux sont synchronisées, ce qui signifie que plusieurs threads peuvent lire à partir des flux ou y écrire.

Les membres de classe Console qui fonctionnent normalement lorsque le flux sous-jacent est dirigé vers une console peuvent lever une exception si le flux est, par exemple, redirigé vers un fichier. Par conséquent, programmez votre application de façon à intercepter System.IO.IOException si vous redirigez un flux standard.

Il est quelquefois utile d'appeler explicitement les membres des objets de flux représentés par les propriétés In, Out et Error. Par exemple, la méthode WriteLine écrit par défaut des données dans le flux de sortie standard, suivies de la chaîne de terminaison de ligne par défaut. Autrement dit, les données sont suivies d'un retour chariot ou d'un saut de ligne ("\r\n"). Toutefois, la classe Console ne fournit pas de méthode pour écrire les données dans le flux de sortie d'erreur standard, ni de propriété pour modifier la chaîne de terminaison de ligne pour les données écrites dans ce flux.

Vous pouvez résoudre ce problème en attribuant à la propriété TextWriter.NewLine de Out ou à la propriété Error une autre chaîne de terminaison de ligne. Par exemple, l'instruction C#, Console.Error.NewLine = "\r\n\r\n";, attribue à la chaîne de terminaison de ligne du flux de sortie d'erreurs standard deux séquences de retour chariot et de saut de ligne. Ensuite, vous pouvez appeler explicitement la méthode WriteLine de l'objet du flux de sortie d'erreur standard, comme dans l'instruction C#, Console.Error.WriteLine();.

Mémoire tampon d'écran et fenêtre de console

La mémoire tampon d'écran et la fenêtre de console constituent deux fonctionnalités étroitement liées de la console. Le texte est lu depuis les flux détenus par la console (ou y est écrit), mais semble lu (ou écrit) depuis une zone détenue par la console et intitulée mémoire tampon d'écran. La mémoire tampon d'écran est un attribut de la console et se présente sous forme d'une grille composée de lignes et de colonnes où chaque intersection de grille, ou cellule de caractère, peut contenir un caractère. Chaque caractère possède sa propre couleur de premier plan et chaque cellule de caractère, sa propre couleur d'arrière-plan.

La mémoire tampon d'écran est affichée via une région rectangulaire, appelée fenêtre de console. La fenêtre de console constitue un autre attribut de la console ; il ne s'agit pas de la console elle-même, qui est une fenêtre du système d'exploitation. La fenêtre de console est également organisée en lignes et en colonnes ; elle est inférieure ou égale à la taille de la mémoire tampon d'écran et peut être déplacée pour afficher différentes zones de la mémoire tampon d'écran sous-jacente. Si la mémoire tampon d'écran est plus grande que la fenêtre de console, la console affiche automatiquement les barres de défilement afin que la fenêtre de console puisse être repositionnée sur la zone de la mémoire tampon d'écran.

Un curseur indique la position dans la mémoire tampon d'écran de l'emplacement où le texte est lu ou écrit. Le curseur peut être masqué ou affiché, et sa hauteur peut être modifiée. Si le curseur est visible, la position de la fenêtre de console est déplacée automatiquement afin que le curseur demeure toujours en vue.

L'origine des coordonnées de la cellule de caractère de la mémoire tampon d'écran se trouve dans le coin supérieur gauche, tandis que les positions du curseur et de la fenêtre de console sont mesurées par rapport à cette origine. Utilisez les index de base zéro pour spécifier les positions ; autrement dit, spécifiez la ligne supérieure comme ligne 0, et la colonne la plus à gauche comme colonne 0. La valeur maximale pour les index de ligne et de colonne est Int16.MaxValue.

Fonctionnalités

La classe Console contient des méthodes qui lisent des caractères ou des lignes complètes à partir de la console ; elle contient aussi plusieurs méthodes d'écriture qui convertissent automatiquement une instance de type valeur, un tableau de caractères ou des groupes d'objets, en une chaîne mise en forme ou non, puis écrivent cette chaîne, suivie le cas échéant d'une chaîne de terminaison de ligne, dans la console. La classe Console contient aussi des méthodes et des propriétés pour obtenir ou définir la taille de la mémoire tampon d'écran, de la fenêtre de console et du curseur, pour modifier la position de la fenêtre de console et du curseur, pour déplacer ou effacer les données de la mémoire tampon d'écran, pour modifier les couleurs de premier plan et d'arrière-plan, pour modifier le texte affiché dans la barre de titre de console, et pour lire le son d'un signal sonore.

Cet exemple de code illustre la lecture et l'écriture dans les flux de sortie et d'entrée standard. Remarquez que ces flux peuvent être redirigés à l'aide des méthodes SetIn et SetOut.

public static void Main(string[] args) {
    Console.Write("Hola ");
    Console.WriteLine("Mundo!");
    Console.WriteLine("What is your name: ");
    String name = Console.ReadLine();
    Console.Write("Buenos Dias, ");
    Console.Write(name);
    Console.WriteLine("!");
}

public static void main(String[] args)
{
    Console.Write("Hola ");
    Console.WriteLine("Mundo!");
    Console.WriteLine("What is your name: ");
    String name = Console.ReadLine();
    Console.Write("Buenos Dias, ");
    Console.Write(name);
    Console.WriteLine("!");
} //main

Console.Write("Hola ");
Console.WriteLine("Mundo!");
Console.WriteLine("What is your name: ");
var name : String = Console.ReadLine();
Console.Write("Buenos Dias, ");
Console.Write(name);
Console.WriteLine("!");

Ce type est sécurisé pour les opérations multithread.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0
Afficher: