Comment utiliser efficacement la ligne d'impression C#
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.
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.
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 :
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.
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.
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 :
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é.
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.
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.
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.
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 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.
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier