Passer au contenu du pied de page
.NET AIDE

Comment utiliser C# Imprimer des lignes efficacement

L'affichage de lignes en C# est un aspect fondamental des applications console, et il consiste à afficher du texte ou des valeurs spécifiques sur l'écran de la console. Que vous travailliez avec le flux de sortie standard ou la mise en forme de chaînes de caractères, il est crucial de comprendre comment imprimer efficacement les lignes dans les applications console C#.

Dans cet article, nous explorerons différentes méthodes et techniques liées à l'impression de lignes en C#.

Principes de base de la ligne d'impression

En C#, l'affichage d'une ligne implique souvent l'utilisation de la méthode Console.WriteLine . Commençons par examiner un exemple simple :

using System;

class Program 
{
    public static void Main() 
    {
        Console.WriteLine("Hello, C# Print Line!");
    }
}
using System;

class Program 
{
    public static void Main() 
    {
        Console.WriteLine("Hello, C# Print Line!");
    }
}
Imports System

Friend Class Program
	Public Shared Sub Main()
		Console.WriteLine("Hello, C# Print Line!")
	End Sub
End Class
$vbLabelText   $csharpLabel

Dans le code ci-dessus, l'instruction Console.WriteLine affiche la chaîne de caractères spécifiée (" Hello, C# Print Line ! ") suivie d'un saut de ligne. Ceci est rendu possible grâce à la méthode WriteLine , qui ajoute un caractère de fin de ligne à la fin de la sortie.

Terminaisons de ligne

Un terminateur de ligne est un caractère ou une séquence spéciale qui indique la fin d'une ligne. Les deux terminateurs de ligne les plus courants sont le retour chariot ( " \r " ) et le saut de ligne ( " \n " ). En C#, la méthode Console.WriteLine se charge d'utiliser le terminateur de ligne courant approprié en fonction du système d'exploitation.

public static void Main() 
{
    Console.WriteLine("This is on the first line.");
    Console.WriteLine("This is on the second line.");
}
public static void Main() 
{
    Console.WriteLine("This is on the first line.");
    Console.WriteLine("This is on the second line.");
}
Public Shared Sub Main()
	Console.WriteLine("This is on the first line.")
	Console.WriteLine("This is on the second line.")
End Sub
$vbLabelText   $csharpLabel

Dans l'exemple ci-dessus, après l'exécution du programme, chaque Console.WriteLine produit une nouvelle ligne dans la fenêtre de console C#, ce qui donne les deux lignes spécifiées.

! Ligne d'impression en C# (Fonctionnement pour les développeurs) : Figure 1 - Sortie console du code précédent

Spécification des terminaisons de ligne

Si vous devez contrôler explicitement le terminateur de ligne, vous pouvez utiliser la méthode Console.Write et ajouter manuellement le terminateur de ligne souhaité :

public static void Main() 
{
    Console.Write("This is on the first line.");
    Console.Write('\r'); // Carriage return
    Console.Write("This is on the same line but very far left position.");
}
public static void Main() 
{
    Console.Write("This is on the first line.");
    Console.Write('\r'); // Carriage return
    Console.Write("This is on the same line but very far left position.");
}
Imports Microsoft.VisualBasic

Public Shared Sub Main()
	Console.Write("This is on the first line.")
	Console.Write(ControlChars.Cr) ' Carriage return
	Console.Write("This is on the same line but very far left position.")
End Sub
$vbLabelText   $csharpLabel

Dans cet exemple, le retour chariot ( '\r' ) est utilisé pour positionner le curseur au début de la ligne, ce qui fait apparaître la deuxième partie du texte à l'extrême gauche, c'est-à-dire en écrasant la sortie précédente.

! Ligne d'impression en C# (Fonctionnement pour les développeurs) : Figure 2 - Sortie console montrant \r

Impression sur plusieurs lignes

Pour imprimer plusieurs lignes sans répéter l'instruction Console.WriteLine , vous pouvez utiliser une liste de paramètres de longueur variable :

public static void Main() 
{
    PrintLines("Line 1", "Line 2", "Line 3");
}

static void PrintLines(params string[] lines) 
{
    foreach (var line in lines) 
    {
        Console.WriteLine(line);
    }
}
public static void Main() 
{
    PrintLines("Line 1", "Line 2", "Line 3");
}

static void PrintLines(params string[] lines) 
{
    foreach (var line in lines) 
    {
        Console.WriteLine(line);
    }
}
Public Shared Sub Main()
	PrintLines("Line 1", "Line 2", "Line 3")
End Sub

Shared Sub PrintLines(ParamArray ByVal lines() As String)
	For Each line In lines
		Console.WriteLine(line)
	Next line
End Sub
$vbLabelText   $csharpLabel

La méthode PrintLines que nous avons créée prend un tableau spécifié de paramètres de type chaîne de caractères, vous permettant de passer un nombre quelconque de nouvelles lignes pour imprimer une valeur de chaîne spécifiée :

! Ligne d'impression en C# (Fonctionnement pour les développeurs) : Figure 3 - Sortie console obtenue avec la méthode PrintLines

Formatage de la sortie

La mise en forme des données affichées est essentielle, notamment lorsqu'il s'agit de types de données différents. La méthode Console.WriteLine propose plusieurs surcharges qui acceptent un objet spécifié et des informations de mise en forme :

public static void Main() 
{
    int answer = 42;
    string name = "John Doe";
    Console.WriteLine("The answer is {0}.", answer);
    Console.WriteLine("Hello, {0}!", name);
}
public static void Main() 
{
    int answer = 42;
    string name = "John Doe";
    Console.WriteLine("The answer is {0}.", answer);
    Console.WriteLine("Hello, {0}!", name);
}
Public Shared Sub Main()
	Dim answer As Integer = 42
	Dim name As String = "John Doe"
	Console.WriteLine("The answer is {0}.", answer)
	Console.WriteLine("Hello, {0}!", name)
End Sub
$vbLabelText   $csharpLabel

Dans cet exemple, {0} est un espace réservé pour les objets spécifiés (dans ce cas, answer et name ), vous permettant d'inclure des données variables dans la sortie et d'imprimer les informations de format spécifiées.

! Ligne d'impression C# (Fonctionnement pour les développeurs) : Figure 4 - Sortie console avec mise en forme

Sauts de ligne et caractères Unicode

Pour les sauts de ligne spéciaux ou les caractères Unicode, vous pouvez utiliser des séquences d'échappement. Vous pouvez également afficher n'importe quelle chaîne littérale ASCII ou tout code HTML valide à l'aide de Console.WriteLine. Par exemple, pour insérer un saut de ligne dans la même chaîne :

public static void Main() 
{
    Console.WriteLine("This is line 1.\nThis is line 2.");
    Console.WriteLine("Line 1\u000Aline 2");
}
public static void Main() 
{
    Console.WriteLine("This is line 1.\nThis is line 2.");
    Console.WriteLine("Line 1\u000Aline 2");
}
Imports Microsoft.VisualBasic

Public Shared Sub Main()
	Console.WriteLine("This is line 1." & vbLf & "This is line 2.")
	Console.WriteLine("Line 1" & vbLf & "line 2")
End Sub
$vbLabelText   $csharpLabel

Ici, \n et \u000A, le caractère Unicode spécifié, représentent tous deux un caractère de saut de ligne, ce qui fait passer le texte à la ligne suivante dans chaque cas.

! Affichage de ligne en C# (Fonctionnement pour les développeurs) : Figure 5 - Sortie console montrant les caractères de saut de ligne

Valeurs booléennes aléatoires

Le code ci-dessous utilise l'interpolation de chaînes dans la méthode Console.WriteLine . L'interpolation de chaînes est une fonctionnalité introduite dans C# 6.0 qui simplifie le processus d'intégration d'expressions ou de variables dans des chaînes littérales et d'affichage correct de la valeur booléenne spécifiée dans l'application console.

using System;

class Program
{
    static void Main()
    {
        Random rnd = new Random();
        for (int i = 1; i <= 5; i++)
        { 
            bool isTrue = rnd.Next(0, 2) == 1;
            Console.WriteLine($"True or False: {isTrue}");
        }
    }
}
using System;

class Program
{
    static void Main()
    {
        Random rnd = new Random();
        for (int i = 1; i <= 5; i++)
        { 
            bool isTrue = rnd.Next(0, 2) == 1;
            Console.WriteLine($"True or False: {isTrue}");
        }
    }
}
Imports System

Friend Class Program
	Shared Sub Main()
		Dim rnd As New Random()
		For i As Integer = 1 To 5
			Dim isTrue As Boolean = rnd.Next(0, 2) = 1
			Console.WriteLine($"True or False: {isTrue}")
		Next i
	End Sub
End Class
$vbLabelText   $csharpLabel

Les données spécifiées renvoyées par l'expression sont affichées dans l'application console comme indiqué ci-dessous :

! Ligne d'impression en C# (Fonctionnement pour les développeurs) : Figure 6 - Sortie console affichant des valeurs booléennes par interpolation de chaînes

Impression de différents formats numériques

L'impression de différents formats numériques est une exigence courante en programmation, notamment lorsqu'il s'agit de nombres à virgule flottante double précision et simple précision. Là encore, les instructions Console.WriteLine peuvent être utilisées pour les imprimer avec précision et facilité.

Virgule flottante double précision

double doubleValue = 0.123456789;
Console.WriteLine($"Double Precision: {doubleValue:F7}");
double doubleValue = 0.123456789;
Console.WriteLine($"Double Precision: {doubleValue:F7}");
Dim doubleValue As Double = 0.123456789
Console.WriteLine($"Double Precision: {doubleValue:F7}")
$vbLabelText   $csharpLabel

Dans cet exemple, F7 spécifie que la valeur double doit être formatée avec 7 chiffres après la virgule décimale. Vous pouvez ajuster le chiffre après " F " pour contrôler la précision.

Chaîne existante

string existingString = "Hello, C#!";
Console.WriteLine($"Existing String: {existingString}");
string existingString = "Hello, C#!";
Console.WriteLine($"Existing String: {existingString}");
Dim existingString As String = "Hello, C#!"
Console.WriteLine($"Existing String: {existingString}")
$vbLabelText   $csharpLabel

Imprimer une chaîne de caractères existante est simple. Utilisez simplement Console.WriteLine et indiquez la chaîne de caractères que vous souhaitez afficher.

Virgule flottante simple précision

float singleValue = 0.123456789f;
Console.WriteLine($"Single Precision: {singleValue:F7}");
float singleValue = 0.123456789f;
Console.WriteLine($"Single Precision: {singleValue:F7}");
Dim singleValue As Single = 0.123456789F
Console.WriteLine($"Single Precision: {singleValue:F7}")
$vbLabelText   $csharpLabel

Comme pour la double précision, le spécificateur de format F7 est utilisé ici pour la virgule flottante simple précision. Vous pouvez ajuster le chiffre après le " F " en fonction de vos exigences de précision.

Exploiter les puissantes capacités d'impression d'IronPrint en C

L'impression de documents est un aspect fondamental de nombreuses applications, et lorsqu'il s'agit d'exploiter tout le potentiel de l'impression en C#, IronPrint se distingue comme une bibliothèque polyvalente et riche en fonctionnalités.

Introduction à IronPrint

IronPrint , développé par Iron Software, est une bibliothèque d'impression avancée conçue pour l'écosystème .NET, notamment C#. Que vous travailliez sur une application de bureau, mobile ou web, IronPrint s'intègre parfaitement à vos projets C#, offrant un ensemble complet d'outils pour répondre à divers besoins d'impression.

! Ligne d'impression C# (Fonctionnement pour les développeurs) : Figure 7 - Page web IronPrint

Caractéristiques principales d'IronPrint

1. Compatibilité multiplateforme :

IronPrint prend en charge différents systèmes d'exploitation, notamment Windows, macOS, Android et iOS. Cette compatibilité multiplateforme garantit que vos solutions d'impression peuvent atteindre les utilisateurs dans différents environnements.

2. Prise en charge des versions .NET :

Compatible avec .NET Framework 4.6.2 et versions ultérieures, .NET Core 3.1 et versions ultérieures, ainsi qu'avec les dernières versions de .NET, IronPrint couvre un large éventail d'environnements .NET.

3. Type de support de projet :

IronPrint s'adresse à différents types de projets, notamment Mobile (Xamarin et MAUI), Desktop (WPF et MAUI) et Console (App et Bibliothèque). Cette flexibilité la rend adaptée à une variété d'architectures d'applications.

4. Installation facile :

Démarrer avec IronPrint est un jeu d'enfant. Vous pouvez installer rapidement la bibliothèque en utilisant la console du gestionnaire de packages NuGet et en exécutant la commande Install-Package IronPrint .

Utilisation de base d'IronPrint

Voici un exemple simple démontrant la facilité d'utilisation d'IronPrint dans une application console C# pour imprimer des documents :

using IronPrint;

class Program
{
    static void Main()
    {
        Console.WriteLine("Printing Started...");
        // Silent printing of a document
        Printer.Print("document.pdf");
        // Or display a print dialog
        Printer.ShowPrintDialog("document.pdf");
        Console.WriteLine("Printing Completed...");
    }
}
using IronPrint;

class Program
{
    static void Main()
    {
        Console.WriteLine("Printing Started...");
        // Silent printing of a document
        Printer.Print("document.pdf");
        // Or display a print dialog
        Printer.ShowPrintDialog("document.pdf");
        Console.WriteLine("Printing Completed...");
    }
}
Imports IronPrint

Friend Class Program
	Shared Sub Main()
		Console.WriteLine("Printing Started...")
		' Silent printing of a document
		Printer.Print("document.pdf")
		' Or display a print dialog
		Printer.ShowPrintDialog("document.pdf")
		Console.WriteLine("Printing Completed...")
	End Sub
End Class
$vbLabelText   $csharpLabel

Le résultat présenté ici illustre l'impression d'un document à l'aide de la méthode Print and ShowPrintDialog . Si l'imprimante physique n'est pas installée, l'imprimante par défaut sera utilisée pour l'impression.

Ligne d'impression C# (Fonctionnement pour les développeurs) : Figure 8 - Fenêtre contextuelle de démarrage de l'impression et fenêtre contextuelle d'enregistrement du résultat d'impression

Capacités d'impression avancées

IronPrint va au-delà des tâches d'impression de base et offre des fonctionnalités avancées telles que :

  • Impression silencieuse : Imprimez des documents sans afficher de boîte de dialogue à l'aide de Printer.PrintAsync .
  • Paramètres d'impression personnalisés : Affinez les paramètres d'impression grâce à la classe PrintSettings .
  • Impression asynchrone : Exécutez les opérations d'impression de manière asynchrone afin d'éviter de bloquer le thread principal.
  • Sélection de l'imprimante : La méthode GetPrinterNames vous permet de choisir parmi les imprimantes disponibles, offrant ainsi un contrôle plus précis du processus d'impression.

Ajustements spécifiques à la plateforme

IronPrint vous permet d'adapter vos solutions d'impression à différentes plateformes. Par exemple, lorsque vous travaillez sur des projets .NET Core ciblant des plateformes spécifiques comme Windows, Android, iOS ou macOS, vous pouvez ajuster la propriété TargetFrameworks dans votre fichier projet en conséquence.

Pour obtenir des informations plus détaillées sur IronPrint, veuillez consulter cette documentation et les pages de référence de l'API .

Conclusion

L'affichage des lignes en C# est une compétence fondamentale pour le développement d'applications console. Que vous affichiez du texte, formatiez la sortie ou contrôliez les fins de ligne, la compréhension des différentes techniques disponibles améliorera votre capacité à créer des programmes console efficaces et lisibles. Explorez les différentes méthodes offertes par la classe Console , expérimentez avec les options de formatage et tirez parti de la flexibilité du C# pour produire une sortie console claire et bien structurée dans vos applications.

IronPrint s'impose comme un allié de poids pour les développeurs C# à la recherche de fonctionnalités d'impression robustes et flexibles. Grâce à sa prise en charge multiplateforme, sa compatibilité avec différentes versions de .NET et ses fonctionnalités d'impression avancées, IronPrint simplifie la mise en œuvre de solutions d'impression dans diverses applications C#. Que vous développiez pour ordinateur, mobile ou web, IronPrint vous fournit les outils nécessaires pour concrétiser vos besoins d'impression dans l'univers du développement C#.

IronPrint propose un essai gratuit pour une utilisation commerciale. Téléchargez la bibliothèque ici et essayez-la.

Questions Fréquemment Posées

Comment puis-je imprimer du texte dans des applications console C# ?

Pour imprimer du texte dans des applications console C#, vous pouvez utiliser la méthode Console.WriteLine, qui affiche la valeur de chaîne spécifiée suivie d'une nouvelle ligne. Pour plus de contrôle, utilisez Console.Write pour gérer manuellement les terminateurs de ligne.

Quelles sont certaines techniques pour contrôler les terminateurs de ligne en C# ?

En C#, vous pouvez contrôler les terminateurs de ligne en utilisant la méthode Console.Write et en ajoutant des caractères comme ' ' pour les nouvelles lignes ou ' ' pour les retours chariot.

Comment imprimer plusieurs lignes d'un coup en utilisant C# ?

Vous pouvez imprimer plusieurs lignes d'un coup en créant une méthode qui accepte une liste de paramètres de longueur variable et itère sur chaque ligne à imprimer en utilisant Console.WriteLine.

Quelles fonctionnalités une bibliothèque d'impression polyvalente pour C# devrait-elle avoir ?

Une bibliothèque d'impression polyvalente pour C# devrait prendre en charge la fonctionnalité multiplateforme, diverses versions de .NET, et différents types de projets. Des fonctionnalités comme l'impression silencieuse, les paramètres d'impression personnalisés, l'impression asynchrone et la sélection de l'imprimante sont essentielles, comme fourni par IronPrint.

Comment puis-je formater la sortie dans les applications console C# ?

Vous pouvez formater la sortie dans les applications console C# en utilisant Console.WriteLine avec des espaces réservés comme {0} pour les variables ou expressions, permettant l'affichage de contenu dynamique.

Puis-je utiliser des sauts de ligne spéciaux et le Unicode dans les sorties console C# ?

Oui, vous pouvez utiliser des séquences d'échappement telles que ' ' pour des sauts de ligne et inclure des caractères Unicode en utilisant des codes comme ' ' dans votre sortie de console.

Comment puis-je imprimer des valeurs numériques avec précision en C# ?

Pour imprimer des valeurs numériques avec précision en C#, utilisez des spécificateurs de format dans Console.WriteLine, comme 'F2' pour les nombres à virgule flottante, pour définir le nombre de décimales.

Quelles sont les fonctionnalités avancées d'une bibliothèque d'impression C# ?

Les fonctionnalités avancées d'une bibliothèque d'impression C# incluent l'impression silencieuse, les paramètres d'impression personnalisés, l'impression asynchrone, et la sélection de l'imprimante, réalisables avec des méthodes comme Printer.PrintAsync et GetPrinterNames dans IronPrint.

Comment puis-je installer une bibliothèque d'impression complète dans mon projet C# ?

Vous pouvez installer une bibliothèque d'impression comme IronPrint dans votre projet C# via la console du gestionnaire de paquets NuGet en utilisant la commande Install-Package IronPrint.

Un essai gratuit est-il disponible pour les bibliothèques d'impression C# complètes ?

Oui, un essai gratuit est disponible pour IronPrint, une bibliothèque d'impression C# complète, qui peut être téléchargée depuis le site Iron Software pour une utilisation commerciale.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur technique chez Iron Software et un ingénieur visionnaire pionnier dans la technologie des PDF en C#. En tant que développeur original derrière la base de code principale d'Iron Software, il a façonné l'architecture du produit de l'entreprise depuis sa création, ...

Lire la suite