Passer au contenu du pied de page
.NET AIDE

Maîtriser la fonction d'impression C# : un guide pour les développeurs

L'impression en C# est une compétence fondamentale pour les développeurs, leur permettant de communiquer avec les utilisateurs et d'enregistrer des informations cruciales. La classe Console est un outil polyvalent qui offre un éventail de méthodes pour répondre à différents scénarios. Le langage de programmation Microsoft C# fournit également une méthode d'impression qui peut être utilisée pour imprimer sur du papier.

Dans cet article complet, nous allons explorer divers aspects de l'impression en C#, en abordant les techniques de base, l'impression variable, l'impression de listes, les fonctionnalités avancées et une exploration approfondie de la bibliothèque IronPrint.

Imprimante de base avec Console.WriteLine

Au cœur de l'impression C# se trouve la méthode Console.WriteLine. Il s'agit de la fonction de référence pour l'affichage d'informations de sortie formatées sur la console. La simplicité de cette méthode est évidente dans l'exemple suivant :

Console.WriteLine("Hello, C# Print Function!"); // Print a string and move to a new line
Console.WriteLine("Hello, C# Print Function!"); // Print a string and move to a new line
Console.WriteLine("Hello, C# Print Function!") ' Print a string and move to a new line
$vbLabelText   $csharpLabel

Cette ligne unique imprime la chaîne de caractères spécifiée sur la console, suivie d'un caractère de retour à la ligne, ce qui permet de présenter la sortie de manière claire.

Imprimer des variables

L'impression de valeurs variables est une exigence courante. C# facilite cette tâche grâce à l'interpolation ou à la concaténation de chaînes de caractères. Voici un exemple illustrant l'impression variable :

int age = 25;
Console.WriteLine($"Age: {age}"); // Interpolating the variable 'age' into the string
int age = 25;
Console.WriteLine($"Age: {age}"); // Interpolating the variable 'age' into the string
Dim age As Integer = 25
Console.WriteLine($"Age: {age}") ' Interpolating the variable 'age' into the string
$vbLabelText   $csharpLabel

Dans ce cas, la valeur de la variable âge est insérée dans la chaîne, ce qui permet d'obtenir un résultat dynamique et informatif.

Fonction d'impression C# (Comment ça marche pour les développeurs) : Figure 1 - Sortie d'une variable sur la même ligne

Imprimer les données de l'utilisateur

Un scénario courant consiste à imprimer les entrées de l'utilisateur dans la console. Prenons l'exemple suivant :

Console.Write("Enter your name: ");
string name = Console.ReadLine(); // Read input from the user
Console.WriteLine($"Hello, {name}!"); // Print a personalized greeting
Console.Write("Enter your name: ");
string name = Console.ReadLine(); // Read input from the user
Console.WriteLine($"Hello, {name}!"); // Print a personalized greeting
Console.Write("Enter your name: ")
Dim name As String = Console.ReadLine() ' Read input from the user
Console.WriteLine($"Hello, {name}!") ' Print a personalized greeting
$vbLabelText   $csharpLabel

Dans ce cas, le programme invite l'utilisateur à saisir des données, les capture, puis la méthode WriteLine imprime un message d'accueil personnalisé.

Imprimer une liste

Les listes sont prépondérantes dans le langage de programmation C#, et l'impression de leurs éléments est une compétence utile. Le code suivant montre comment imprimer chaque élément d'une liste sur une nouvelle ligne :

List<string> fruits = new List<string> { "Apple", "Banana", "Orange" };
foreach (var fruit in fruits)
{
    Console.WriteLine(fruit); // Print each element on a new line
}
List<string> fruits = new List<string> { "Apple", "Banana", "Orange" };
foreach (var fruit in fruits)
{
    Console.WriteLine(fruit); // Print each element on a new line
}
Dim fruits As New List(Of String) From {"Apple", "Banana", "Orange"}
For Each fruit In fruits
	Console.WriteLine(fruit) ' Print each element on a new line
Next fruit
$vbLabelText   $csharpLabel

Cette boucle parcourt la liste et imprime chaque fruit sur une ligne distincte.

Imprimer les valeurs d'une énumération

Les Enums sont souvent utilisés pour représenter un ensemble de constantes nommées. L'impression des valeurs d'énumération permet de visualiser et de confirmer leur utilisation dans votre code :

enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }
Days today = Days.Wednesday;
Console.WriteLine($"Today is {today}"); // Print the current day
enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }
Days today = Days.Wednesday;
Console.WriteLine($"Today is {today}"); // Print the current day
Friend Enum Days
	Sunday
	Monday
	Tuesday
	Wednesday
	Thursday
	Friday
	Saturday
End Enum
Private today As Days = Days.Wednesday
Console.WriteLine($"Today is {today}") ' Print the current day
$vbLabelText   $csharpLabel

Cela permet de clarifier l'état actuel de la sélection représentée par l'enum.

Fonction d'impression C# (Comment ça marche pour les développeurs) : Figure 2 - Sortie Enum

Imprimer vers la console sans Newline

Si vous souhaitez imprimer du contenu textuel sans introduire de nouvelles lignes entre chaque sortie, la méthode Console.Write est votre choix. Cette méthode empêche la sortie de passer à la ligne suivante.

using System;

class Program
{
    public static void Main(string[] args) 
    {
        // Each Write call adds text to the current line
        Console.Write("This ");
        Console.Write("will ");
        Console.Write("be ");
        Console.Write("on ");
        Console.Write("the ");
        Console.Write("same ");
        Console.Write("line.");
    }
}
using System;

class Program
{
    public static void Main(string[] args) 
    {
        // Each Write call adds text to the current line
        Console.Write("This ");
        Console.Write("will ");
        Console.Write("be ");
        Console.Write("on ");
        Console.Write("the ");
        Console.Write("same ");
        Console.Write("line.");
    }
}
Imports System

Friend Class Program
	Public Shared Sub Main(ByVal args() As String)
		' Each Write call adds text to the current line
		Console.Write("This ")
		Console.Write("will ")
		Console.Write("be ")
		Console.Write("on ")
		Console.Write("the ")
		Console.Write("same ")
		Console.Write("line.")
	End Sub
End Class
$vbLabelText   $csharpLabel

Cette séquence d'appels Write produit un résultat sur la même ligne, ce qui permet de conserver une présentation cohérente. C'est la seule différence entre la méthode Write et la méthode WriteLine.

Imprimer avec des caractères Unicode

Améliorez vos résultats avec des caractères Unicode, en donnant du style à vos messages de console. En voici un exemple :

Console.WriteLine("Hello \u2665 C#"); // \u2665 represents a heart symbol
Console.WriteLine("Hello \u2665 C#"); // \u2665 represents a heart symbol
Console.WriteLine("Hello " & ChrW(&H2665).ToString() & " C#") ' \u2665 represents a heart symbol
$vbLabelText   $csharpLabel

L'incorporation des caractères Unicode apporte une touche visuelle attrayante à la sortie de la console.

Débogage avec les instructions Print

Pendant le développement, les instructions d'impression sont très utiles pour le débogage. En plaçant stratégiquement les instructions Console.WriteLine dans votre code, vous pouvez sortir des valeurs de variables ou des points d'exécution pour comprendre le déroulement du programme et identifier les problèmes.

int x = 5;
int y = 10;
int sum = x + y;
Console.WriteLine($"The sum of {x} and {y} is {sum}"); // Print sum to debug
int x = 5;
int y = 10;
int sum = x + y;
Console.WriteLine($"The sum of {x} and {y} is {sum}"); // Print sum to debug
Dim x As Integer = 5
Dim y As Integer = 10
Dim sum As Integer = x + y
Console.WriteLine($"The sum of {x} and {y} is {sum}") ' Print sum to debug
$vbLabelText   $csharpLabel

Cela permet de suivre les valeurs variables et de comprendre comment les calculs ou les conditions sont traités.

Fonction d'impression C# (Comment ça marche pour les développeurs) : Figure 3 - Sortie de débogage

Formatage composite

Le formatage des chaînes composées permet d'obtenir des résultats plus dynamiques et plus complexes. Vous pouvez intégrer des espaces réservés dans une chaîne et les remplacer par des valeurs :

double price = 19.99;
Console.WriteLine("Product: {0}, Price: ${1:F2}", "Widget", price); // Use placeholders in string
double price = 19.99;
Console.WriteLine("Product: {0}, Price: ${1:F2}", "Widget", price); // Use placeholders in string
Dim price As Double = 19.99
Console.WriteLine("Product: {0}, Price: ${1:F2}", "Widget", price) ' Use placeholders in string
$vbLabelText   $csharpLabel

Ici, les espaces réservés {0} et {1} sont remplacés par les valeurs correspondantes, ce qui permet de structurer le texte de manière flexible.

Formatage de la date et de l'heure

L'impression de la date et de l'heure actuelles est une exigence fréquente. C# propose diverses options de formatage pour afficher les informations relatives à la date et à l'heure :

DateTime currentDate = DateTime.Now;
Console.WriteLine($"Current Date: {currentDate:d}"); // Print date in short format
Console.WriteLine($"Current Time: {currentDate:t}"); // Print time in short format
DateTime currentDate = DateTime.Now;
Console.WriteLine($"Current Date: {currentDate:d}"); // Print date in short format
Console.WriteLine($"Current Time: {currentDate:t}"); // Print time in short format
Dim currentDate As DateTime = DateTime.Now
Console.WriteLine($"Current Date: {currentDate:d}") ' Print date in short format
Console.WriteLine($"Current Time: {currentDate:t}") ' Print time in short format
$vbLabelText   $csharpLabel

La personnalisation du spécificateur de format (d, t, etc.) permet aux développeurs de présenter les informations de différentes manières.

Gérer les exceptions avec Print

Lorsqu'une exception se produit, l'impression des informations pertinentes peut aider à identifier le problème. En voici un exemple :

try 
{
    // Some code that may throw an exception
} 
catch (Exception ex) 
{
    Console.WriteLine($"Exception Caught: {ex.Message}"); // Print exception message
}
try 
{
    // Some code that may throw an exception
} 
catch (Exception ex) 
{
    Console.WriteLine($"Exception Caught: {ex.Message}"); // Print exception message
}
Try
	' Some code that may throw an exception
Catch ex As Exception
	Console.WriteLine($"Exception Caught: {ex.Message}") ' Print exception message
End Try
$vbLabelText   $csharpLabel

L'impression du message d'exception permet de diagnostiquer rapidement les problèmes pendant l'exécution.

L'impression avancée avec IronPrint : La bibliothèque d'impression de C&num

IronPrint, développé par Iron Software, est une bibliothèque d'impression robuste et polyvalente conçue pour permettre aux développeurs .NET d'intégrer de manière transparente des fonctionnalités d'impression dans leurs applications. Cet outil complet se distingue par sa compatibilité avec diverses plateformes, notamment Windows, macOS, Android et iOS, ce qui en fait une solution de choix pour les développeurs travaillant sur divers projets.

Fonction d'impression C# (Comment ça marche pour les développeurs) : Figure 4 - IronPrint

L'un des principaux atouts d'IronPrint réside dans sa large prise en charge des formats de fichiers, notamment PDF, PNG, HTML, TIFF, GIF, JPEG et BMP. Cette flexibilité permet aux développeurs de gérer un large éventail de besoins d'impression dans leurs applications. Que vous travailliez sur des applications mobiles, de bureau ou de console, IronPrint offre une solution unifiée pour une impression efficace et fiable.

L'ensemble des fonctionnalités d'IronPrint comprend des paramètres d'impression personnalisables, permettant aux développeurs d'adapter l'expérience d'impression à des besoins spécifiques. En outre, la bibliothèque offre la possibilité d'afficher des boîtes de dialogue d'impression, ce qui améliore l'interaction et le contrôle de l'utilisateur. La compatibilité avec les différentes versions de .NET et les différents types de projets contribue également à sa polyvalence, ce qui la rend adaptée à une variété de scénarios de développement.

Installation

Pour commencer à utiliser IronPrint, installez le package à l'aide de NuGet :

nuget install IronPrint
nuget install IronPrint
SHELL

Utilisation de base

L'utilisation d'IronPrint est simple. Le code suivant imprime un document à l'aide d'IronPrint :

using IronPrint;

Printer.Print("document.pdf"); // Print a document using IronPrint
using IronPrint;

Printer.Print("document.pdf"); // Print a document using IronPrint
Imports IronPrint

Printer.Print("document.pdf") ' Print a document using IronPrint
$vbLabelText   $csharpLabel

Cette configuration minimale démontre la facilité avec laquelle IronPrint s'intègre à vos projets.

Imprimer avec le dialogue

IronPrint étend les fonctionnalités en vous permettant d'afficher un dialogue d'impression avant l'impression :

Printer.ShowPrintDialog("document.pdf"); // Show a dialog before printing
Printer.ShowPrintDialog("document.pdf"); // Show a dialog before printing
Printer.ShowPrintDialog("document.pdf") ' Show a dialog before printing
$vbLabelText   $csharpLabel

Cette fonctionnalité offre aux utilisateurs un contrôle supplémentaire sur le processus d'impression.

Personnaliser les paramètres d'impression

IronPrint vous permet d'adapter les paramètres d'impression en fonction de vos besoins. L'exemple suivant illustre la personnalisation de paramètres tels que le DPI, le nombre de copies et l'orientation du papier :

PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 150;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Portrait;
Printer.Print("document.pdf", printSettings); // Customized print settings
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 150;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Portrait;
Printer.Print("document.pdf", printSettings); // Customized print settings
Dim printSettings As New PrintSettings()
printSettings.Dpi = 150
printSettings.NumberOfCopies = 2
printSettings.PaperOrientation = PaperOrientation.Portrait
Printer.Print("document.pdf", printSettings) ' Customized print settings
$vbLabelText   $csharpLabel

Cette flexibilité vous permet d'affiner le processus d'impression en fonction de vos besoins spécifiques. Pour plus d'informations sur IronPrint et ses capacités, veuillez consulter cette documentation page.

Support multiplateforme

IronPrint se targue d'être compatible avec divers environnements, notamment Windows, macOS, Android et iOS. Il s'intègre parfaitement à .NET 8, 7, 6, 5, Core 3.1+ et .NET Framework (4.6.2+). Que vous développiez pour le web, le mobile, le bureau ou la console, IronPrint vous couvre.

Conclusion

Maîtriser l'art de l'impression en C# est essentiel pour créer des applications robustes et conviviales. Que vous utilisiez les capacités intégrées de la classe Console ou que vous tiriez parti de bibliothèques avancées comme IronPrint, il est crucial de comprendre ces techniques d'impression. Cet article complet vous a permis d'acquérir les connaissances nécessaires pour imprimer efficacement dans divers scénarios, en veillant à ce que vos applications communiquent de manière transparente avec les utilisateurs et les parties prenantes.

Bien qu'IronPrint soit une bibliothèque payante, l'essai est gratuit et son package Lite commence à partir de $799. Téléchargez la bibliothèque à partir de ici.

Questions Fréquemment Posées

Comment puis-je améliorer les capacités d'impression dans les applications C#?

Pour améliorer les capacités d'impression dans les applications C#, vous pouvez utiliser la bibliothèque IronPrint. Elle prend en charge divers formats de fichiers, offre des paramètres d'impression personnalisables et est compatible sur des plateformes comme Windows, macOS, Android, et iOS.

Quelle est la méthode principale pour afficher la sortie sur la console en C#?

La méthode principale pour afficher la sortie sur la console en C# est Console.WriteLine. Elle est utilisée pour afficher du texte et des valeurs formatés dans une application console.

Comment puis-je imprimer les éléments d'une liste en C#?

Pour imprimer les éléments d'une liste en C#, vous pouvez utiliser une boucle foreach pour parcourir la liste et afficher chaque élément en utilisant Console.WriteLine.

Qu'est-ce que le formatage composite en C#?

Le formatage composite en C# vous permet d'utiliser des espaces réservés dans une chaîne qui sont remplacés par des valeurs spécifiées. Par exemple, Console.WriteLine("Produit : {0}, Prix : ${1:F2}", "Widget", prix) utilise des espaces réservés pour structurer la sortie.

Comment formater la date et l'heure en C#?

C# fournit des spécificateurs de format comme 'd' pour la date courte et 't' pour l'heure courte. Vous pouvez les utiliser avec DateTime.Now pour imprimer la date et l'heure formatées.

Comment puis-je imprimer des caractères Unicode en C#?

Vous pouvez imprimer des caractères Unicode en C# en intégrant des séquences d'échappement Unicode, comme \u2665 pour un symbole de cœur, dans la chaîne.

Quelles sont les utilisations courantes de Console.WriteLine en C#?

Console.WriteLine en C# est couramment utilisé pour imprimer des valeurs de variables, déboguer, journaliser des informations, et communiquer avec les utilisateurs dans des applications console.

Comment IronPrint peut-il être intégré dans des projets C#?

IronPrint peut être intégré dans des projets C# en installant la bibliothèque et en utilisant ses méthodes pour gérer les paramètres d'impression, traiter les boîtes de dialogue d'impression, et prendre en charge divers formats de fichiers sur différentes plateformes.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite