AIDE .NET

Comment utiliser efficacement la ligne d'impression C#

Chaknith Bin
Chaknith Bin
avril 3, 2024
Partager:

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

Dans cet article, nous allons explorer diverses méthodes et techniques liées à l'impression de lignes dans C#.

Principes de base de la ligne d'impression

En C#, imprimer une ligne implique souvent d'utiliser la méthode Console.WriteLine. Commençons par 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 valeur de chaîne spécifiée ("Hello, C# Print Line!") suivie d'une nouvelle ligne. Ceci est réalisé par la méthode WriteLine, qui ajoute un terminateur de ligne à la fin de la sortie.

Terminateurs 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 prend en charge l'utilisation du terminateur de ligne 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.

Impression d'une ligne en C# (Comment cela fonctionne pour les développeurs): Figure 1 - Sortie console du code précédent

Spécification des terminaisons de ligne

Si vous avez besoin de contrôler le terminateur de ligne explicitement, 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 a pour effet de placer la deuxième partie du texte complètement à gauche, c'est-à-dire en écrasant la sortie précédente.

C# Imprimer Ligne (Comment ça fonctionne pour les développeurs) : Figure 2 - Sortie de console montrant \r

Impression de 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 chaîne, vous permettant de passer un nombre quelconque de nouvelles lignes pour imprimer une valeur de chaîne spécifiée :

C# Print Line (Comment cela fonctionne pour les développeurs) : Figure 3 - Sortie de la console en utilisant la méthode PrintLines

Formatage de la sortie

La mise en forme de la sortie est cruciale, surtout lorsqu'on traite différents types de données. La méthode Console.WriteLine propose plusieurs surcharges qui acceptent un objet spécifié et des informations de formatage :

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.

C# Print Line (Comment cela fonctionne pour les développeurs) : Figure 4 - Sortie de la console montrant le formatage

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 imprimer n'importe quel littéral ASCII ou code HTML valide à l'aide de Console.WriteLine. Par exemple, pour inclure 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 que le texte passe à la ligne suivante dans chaque cas.

C# Print Line (Comment cela fonctionne pour les développeurs) : Figure 5 - Sortie de la 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 l'affichage correct de la valeur booléenne spécifiée dans l'application Console.

Random rnd = new Random();
for (int i = 1; i <= 5; i++)
{ 
    bool isTrue = rnd.Next(0, 2) == 1;
    Console.WriteLine($"True or False: {isTrue}");
}
Random rnd = new Random();
for (int i = 1; i <= 5; i++)
{ 
    bool isTrue = rnd.Next(0, 2) == 1;
    Console.WriteLine($"True or False: {isTrue}");
}
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
$vbLabelText   $csharpLabel

Les données spécifiées renvoyées par l'expression sont imprimées sur la console comme indiqué ci-dessous :

C# Print Line (Comment cela fonctionne pour les développeurs) : Figure 6 - Sortie de la console affichant des valeurs booléennes à l'aide de l'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, en particulier lorsqu'il s'agit de nombres à virgule flottante en double précision et à virgule flottante en simple précision. Encore une fois, les instructions Console.WriteLine peuvent être utilisées pour les imprimer avec précision et facilité.

Double précision en virgule flottante

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 en double doit être formatée avec 7 chiffres après le point décimal. Vous pouvez ajuster le nombre 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

L'impression d'une chaîne de caractères existante est simple. Utilisez simplement Console.WriteLine et incluez la chaîne que vous souhaitez afficher.

Simple précision en virgule flottante

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

Similaire à la double précision, le spécificateur de format F7 est utilisé ici pour les nombres à virgule flottante en simple précision. Vous pouvez ajuster le nombre après "F" en fonction de vos besoins de précision.

Débloquer de puissantes capacités d'impression avec IronPrint dans 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 s'impose 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, y compris C#. Que vous travailliez sur une application de bureau, mobile ou web, IronPrint s'intègre de manière transparente à vos projets C#, fournissant un ensemble complet d'outils pour gérer les divers besoins d'impression.

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

Principales caractéristiques 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 plus, .NET Core 3.1+ et les dernières versions de .NET, IronPrint couvre un large éventail d'environnements .NET.

3. Prise en charge des types de projets :

IronPrint s'adresse à différents types de projets, y compris Mobile (Xamarin & MAUI), Bureau (WPF & MAUI), et Console (App & Bibliothèque). Cette flexibilité lui permet de s'adapter à une grande variété d'architectures d'applications.

4. Installation facile :

La mise en route d'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 de 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

La sortie ici montre l'impression d'un document en utilisant la méthode Print et ShowPrintDialog. Si l'imprimante physique n'est pas installée, l'imprimante par défaut est utilisée pour l'impression.

Ligne d'impression C# (Comment ça fonctionne pour les développeurs) : Figure 8 - Fenêtre contextuelle de démarrage d'impression et fenêtre contextuelle de sauvegarde de la sortie 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 en utilisant Printer.PrintAsync.
  • Paramètres d'impression personnalisés : Affinez les paramètres d'impression avec la classe PrintSettings.
  • Impression asynchrone : Exécuter les opérations d'impression de manière asynchrone pour éviter de bloquer le fil d'exécution principal.
  • Sélectionner une imprimante : La méthode GetPrinterNames vous permet de choisir parmi les imprimantes disponibles, offrant un contrôle plus granulaire sur le processus d'impression.

Ajustements spécifiques à la plate-forme

IronPrint vous permet d'adapter vos solutions d'impression à différentes plateformes. Par exemple, lorsque vous travaillez avec 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 de projet en conséquence.

Pour obtenir des informations plus détaillées sur IronPrint, veuillez visiter ces pages de documentation et de référence API.

Conclusion

L'impression de lignes en C# est une compétence fondamentale pour le développement d'applications en mode console. Qu'il s'agisse d'afficher du texte, de formater la sortie ou de contrôler les terminaisons de ligne, la compréhension des différentes techniques disponibles vous permettra de créer des programmes de console efficaces et lisibles. Explorez les diverses méthodes offertes par la classe Console, expérimentez les options de formatage et tirez parti de la flexibilité de C# pour produire une sortie console claire et bien structurée dans vos applications.

IronPrint apparaît comme un allié puissant pour les développeurs C# à la recherche de capacités d'impression robustes et flexibles. Grâce à sa prise en charge multiplateforme, à sa compatibilité avec diverses versions de .NET et à ses fonctions d'impression avancées, IronPrint simplifie la mise en œuvre de solutions d'impression dans diverses applications C#. Que vous développiez pour le bureau, le mobile ou le web, IronPrint fournit les outils dont vous avez besoin pour donner vie à vos besoins d'impression dans le monde du développement C#.

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

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
SUIVANT >
Variable d'impression C# : Simplifiez votre code