AIDE .NET

Maîtriser la fonction d'impression en C# : Guide du développeur

Chaknith Bin
Chaknith Bin
avril 3, 2024
Partager:

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 une gamme 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 allons explorer les 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, ainsi qu'une exploration approfondie de la bibliothèque IronPrint.

Impression de base avec Console.WriteLine

Au cœur de l'impression en C#, se trouve la méthode Console.WriteLine. C'est la fonction par excellence 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!"); // string line
Console.WriteLine("Hello, C# Print Function!"); // string line
Console.WriteLine("Hello, C# Print Function!") ' string 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, présentant ainsi proprement la sortie.

Variables d'impression

L'impression de valeurs variables est une exigence courante. C# facilite cette opération par 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}");
int age = 25;
Console.WriteLine($"Age: {age}");
Dim age As Integer = 25
Console.WriteLine($"Age: {age}")
$vbLabelText   $csharpLabel

Dans ce cas, la valeur de la variable age est insérée dans la chaîne, ce qui fournit une sortie dynamique et informative.

Fonction d'impression C# (Comment cela fonctionne pour les développeurs) : Figure 1 - Sortie de variable sur la même ligne

Impression des données de l'utilisateur

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

Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine($"Hello, {name}!");
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine($"Hello, {name}!");
Console.Write("Enter your name: ")
Dim name As String = Console.ReadLine()
Console.WriteLine($"Hello, {name}!")
$vbLabelText   $csharpLabel

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

Impression d'une liste

Les listes sont très répandues 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);
}
List<string> fruits = new List<string> { "Apple", "Banana", "Orange" };
foreach (var fruit in fruits)
{
    Console.WriteLine(fruit);
}
Dim fruits As New List(Of String) From {"Apple", "Banana", "Orange"}
For Each fruit In fruits
	Console.WriteLine(fruit)
Next fruit
$vbLabelText   $csharpLabel

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

Impression des valeurs de l'énumération

Les Enums sont souvent utilisés pour représenter un ensemble de constantes nommées. L'impression des valeurs des énumérations 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}");
enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }
Days today = Days.Wednesday;
Console.WriteLine($"Today is {today}");
Friend Enum Days
	Sunday
	Monday
	Tuesday
	Wednesday
	Thursday
	Friday
	Saturday
End Enum
Private today As Days = Days.Wednesday
Console.WriteLine($"Today is {today}")
$vbLabelText   $csharpLabel

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

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

Impression sur la console sans nouvelle ligne

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(object [] sender) // object sender
    {
        Console.Write("This ");
        Console.Write("will ");
        Console.Write("be ");
        Console.Write("on ");
        Console.Write("the ");
        Console.Write("same ");
        Console.Write("line. Even it contains more lines");
    }
}
using System;
class Program
{
    public static void Main(object [] sender) // object sender
    {
        Console.Write("This ");
        Console.Write("will ");
        Console.Write("be ");
        Console.Write("on ");
        Console.Write("the ");
        Console.Write("same ");
        Console.Write("line. Even it contains more lines");
    }
}
Imports System
Friend Class Program
	Public Shared Sub Main(ByVal sender() As Object) ' object sender
		Console.Write("This ")
		Console.Write("will ")
		Console.Write("be ")
		Console.Write("on ")
		Console.Write("the ")
		Console.Write("same ")
		Console.Write("line. Even it contains more lines")
	End Sub
End Class
$vbLabelText   $csharpLabel

Cette séquence d'appels Write produit une sortie sur la même ligne, maintenant 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 sortie avec des caractères Unicode, pour donner du cachet à 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'incorporation de caractères Unicode confère une touche visuelle attrayante à la sortie de la console.

Débogage à l'aide d'instructions d'impression

Au cours du développement, les instructions d'impression sont d'une aide précieuse 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}");
int x = 5;
int y = 10;
int sum = x + y;
Console.WriteLine($"The sum of {x} and {y} is {sum}");
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}")
$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 caractères génériques dans une chaîne et les remplacer par des valeurs :

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

Ici, les espaces réservés {0} et {1} sont remplacés par les valeurs correspondantes, offrant une manière flexible de structurer votre sortie.

Formatage de la date et de l'heure

L'impression de la date et de l'heure actuelles est un besoin fréquent. 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}");
Console.WriteLine($"Current Time: {currentDate:t}");
DateTime currentDate = DateTime.Now;
Console.WriteLine($"Current Date: {currentDate:d}");
Console.WriteLine($"Current Time: {currentDate:t}");
Dim currentDate As DateTime = DateTime.Now
Console.WriteLine($"Current Date: {currentDate:d}")
Console.WriteLine($"Current Time: {currentDate:t}")
$vbLabelText   $csharpLabel

Personnaliser le 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 Print

Lorsqu'une exception se produit, 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}");
}
try {
      // Some code that may throw an exception
} catch (Exception ex) {
      Console.WriteLine($"Exception Caught: {ex.Message}");
}
Try
	  ' Some code that may throw an exception
Catch ex As Exception
	  Console.WriteLine($"Exception Caught: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

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

Impression avancée avec IronPrint : La bibliothèque d'impression du 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 différentes 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 cela fonctionne pour les développeurs) : Figure 4 - IronPrint

L'un des principaux atouts d'IronPrint réside dans sa prise en charge d'un grand nombre de formats de fichiers : 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 fournit 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 dialogues 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 encore à sa polyvalence, ce qui le rend adapté à une variété de scénarios de développement.

Installation

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

Install-Package IronPrint

Utilisation de base

L'utilisation d'IronPrint est simple. Le code suivant imprime un document en utilisant IronPrint :

using IronPrint;
Printer.Print("document.pdf");
using IronPrint;
Printer.Print("document.pdf");
Imports IronPrint
Printer.Print("document.pdf")
$vbLabelText   $csharpLabel

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

Imprimer avec le dialogue

IronPrint étend la fonctionnalité en vous permettant d'afficher une boîte de dialogue d'impression avant d'imprimer :

Printer.ShowPrintDialog("document.pdf");
Printer.ShowPrintDialog("document.pdf");
Printer.ShowPrintDialog("document.pdf")
$vbLabelText   $csharpLabel

Cette fonction 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 selon 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);
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 150;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Portrait; Printer.Print("document.pdf", printSettings);
Dim printSettings As New PrintSettings()
printSettings.Dpi = 150
printSettings.NumberOfCopies = 2
printSettings.PaperOrientation = PaperOrientation.Portrait
Printer.Print("document.pdf", printSettings)
$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 fonctionnalités, veuillez visiter cette page de documentation.

Support multiplateforme

IronPrint se targue d'être compatible avec différents 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 mobiles, les ordinateurs de bureau ou les consoles, 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 exploitiez des bibliothèques avancées comme IronPrint, comprendre ces techniques d'impression est crucial. Cet article complet vous a permis d'acquérir les connaissances nécessaires pour imprimer efficacement dans différents 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, essai gratuit et son package Lite commence à partir de $749. Téléchargez la bibliothèque depuis ici.

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.
< PRÉCÉDENT
Variable d'impression C# : Simplifiez votre code
SUIVANT >
Liste d'impression en C# : Un tutoriel rapide