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 Print qui peut être utilisée pour imprimer sur papier.

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

Impression basique avec Console.WriteLine

Au cœur du système d'impression en C# se trouve la méthode Console.WriteLine . C'est la fonction incontournable pour afficher des 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 simple ligne affiche la chaîne de caractères spécifiée dans la console, suivie d'un caractère de nouvelle ligne, présentant ainsi le résultat de manière claire.

Impression des variables

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

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 précis, la valeur de la variable âge est insérée dans la chaîne de caractères, ce qui fournit un résultat dynamique et informatif.

Fonction Print en C# (Fonctionnement pour les développeurs) : Figure 1 - Affichage sur la même ligne

Impression des données saisies par l'utilisateur

Un scénario courant consiste à afficher les données saisies par l'utilisateur dans la console. Considérez 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 de bienvenue personnalisé.

Imprimer une liste

Les listes sont omniprésentes dans le langage de programmation C#, et savoir afficher leurs éléments est une compétence utile. Le code suivant montre comment afficher 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 affiche chaque fruit sur une ligne distincte.

Impression des valeurs d'énumération

Les énumérations sont souvent utilisées pour représenter un ensemble de constantes nommées. Afficher les 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'énumération.

Fonction Print en C# (Fonctionnement pour les développeurs) : Figure 2 - Sortie d'énumération

Impression sur la console sans saut de ligne

Si vous souhaitez afficher du texte sans insérer de saut de ligne entre chaque élément, la méthode Console.Write est la solution. Cette méthode empêche le passage à 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, assurant une présentation cohérente. C'est la seule différence entre la méthode Write et la méthode WriteLine.

Impression avec des caractères Unicode

Améliorez votre affichage avec des caractères Unicode, pour donner du style à vos messages de console. Par 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'intégration de caractères Unicode apporte une touche visuellement attrayante à l'affichage de votre console.

Débogage avec instructions d'impression

Lors du développement, les instructions d'affichage sont précieuses pour le débogage. En plaçant stratégiquement des instructions Console.WriteLine dans votre code, vous pouvez afficher les valeurs des variables ou les points d'exécution pour comprendre le flux 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 des variables et de comprendre comment les calculs ou les conditions sont traités.

Fonction Print en C# (Fonctionnement pour les développeurs) : Figure 3 - Sortie de débogage

Formatage composite

Le formatage de chaînes composites permet une sortie plus dynamique et complexe. Vous pouvez insérer des espaces réservés dans une chaîne de caractères 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, offrant ainsi une manière flexible de structurer votre sortie.

Formatage de la date et de l'heure

L'affichage de la date et de l'heure actuelles est une nécessité fréquente. C# offre différentes options de mise en forme pour afficher les informations de date et d'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 l'information de différentes manières.

Gestion des exceptions avec l'impression

En cas d'exception, l'impression des informations pertinentes peut aider à identifier le problème. Par 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'affichage du message d'exception permet de diagnostiquer rapidement les problèmes lors de l'exécution.

Impression avancée avec IronPrint : la bibliothèque d'impression C

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 facilement 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 incontournable pour les développeurs travaillant sur des projets variés.

Fonction Print en C# (Fonctionnement pour les développeurs) : Figure 4 - IronPrint

L'un des principaux atouts d'IronPrint réside dans sa compatibilité étendue avec les formats de fichiers PDF, PNG, HTML, TIFF, GIF, JPEG et BMP. Cette flexibilité permet aux développeurs de répondre à un large éventail de besoins d'impression au sein de leurs applications. Que vous travailliez sur des applications mobiles, de bureau ou consoles, IronPrint offre une solution unifiée pour une impression efficace et fiable.

Les fonctionnalités d'IronPrint incluent des paramètres d'impression personnalisables, permettant aux développeurs d'adapter l'expérience d'impression à des besoins spécifiques. De plus, la bibliothèque offre la possibilité d'afficher des boîtes de dialogue d'impression, améliorant ainsi l'interaction et le contrôle de l'utilisateur. Sa compatibilité avec différentes versions de .NET et différents types de projets contribue également à sa polyvalence, le rendant adapté à 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

Utiliser 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 boîte de dialogue

IronPrint étend ses fonctionnalités en vous permettant d'afficher une boîte de 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 accru sur le processus d'impression.

Personnaliser les paramètres d'impression

IronPrint vous permet de personnaliser les paramètres d'impression selon vos besoins. L'exemple suivant illustre la personnalisation de paramètres tels que la résolution (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'ajuster avec précision le processus d'impression en fonction de vos besoins spécifiques. Pour plus d'informations sur IronPrint et ses fonctionnalités, veuillez consulter cette page de documentation .

Support Multiplateforme

IronPrint se targue d'être compatible avec divers environnements, notamment Windows, macOS, Android et iOS. Il s'intègre parfaitement avec .NET 8, 7, 6, 5, Core 3.1+ et .NET Framework (4.6.2+). Que vous développiez pour le web, les appareils mobiles, les ordinateurs de bureau ou les consoles, IronPrint a la solution.

Conclusion

La maîtrise de l'impression en C# est essentielle pour créer des applications robustes et conviviales. Que vous utilisiez les fonctionnalité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 fourni les connaissances nécessaires pour imprimer efficacement dans divers scénarios, garantissant ainsi une communication fluide de vos applications avec les utilisateurs et les parties prenantes.

Bien qu'IronPrint soit une bibliothèque payante, un essai gratuit et son pack Lite commencent à partir de $799 . Téléchargez la bibliothèque 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.

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