Passer au contenu du pied de page
.NET AIDE

Comment utiliser C# Imprimer des lignes efficacement

L'impression de lignes en C# est un aspect fondamental des applications de console, et elle 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 que vous mettiez en forme des chaînes de caractères, comprendre comment imprimer des lignes de manière efficace est crucial dans les applications de console C#.

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

Les bases de la ligne d'impression

En C#, l'impression d'une ligne passe souvent par l'utilisation de 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 produit la valeur de chaîne spécifiée ("Bonjour, ligne d'impression C# !") suivie d'une nouvelle ligne. Pour ce faire, la méthode WriteLine ajoute une fin de ligne à la fin de la sortie.

Line Terminators

Une fin de ligne est un caractère spécial ou une séquence qui indique la fin d'une ligne. Les deux caractères de fin de ligne les plus courants sont le retour chariot ('\r') et le saut de ligne ('\n'). En C#, la méthode Console.WriteLine se charge d'utiliser le terminateur de ligne courant 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 la console C#, ce qui donne les deux lignes spécifiées.

C# Print Line (How It Works For Developers) : Figure 1 - Sortie de la console à partir du code précédent

Spécifier les terminaisons de ligne

Si vous avez besoin de contrôler explicitement la fin de ligne, vous pouvez utiliser la méthode Console.Write et ajouter manuellement la fin de ligne souhaitée :

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 faire apparaître la deuxième partie du texte à l'extrême gauche, c'est-à-dire en écrasant la sortie précédente.

C# Print Line (How It Works For Developers) : Figure 2 - Sortie de la console montrant \r

Imprimer 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 n'importe quel nombre de nouvelles lignes pour imprimer une valeur de chaîne spécifiée :

C# Print Line (How It Works For Developers) : Figure 3 - Sortie de la console à l'aide de la méthode PrintLines

Formatage des résultats

Le formatage des résultats est crucial, en particulier lorsqu'il s'agit de traiter différents types de données. La méthode Console.WriteLine fournit plusieurs surcharges qui acceptent un objet spécifié et formatent les informations :

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), ce qui vous permet d'inclure des données variables dans la sortie et d'imprimer les informations de format spécifiées.

C# Print Line (How It Works For Developers) : 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 passer le texte à la ligne suivante dans chaque cas.

C# Print Line (How It Works For Developers) : Figure 5 - Sortie de la console montrant les caractères de retour à la 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 littéraux de chaînes et l'affichage correct de la valeur booléenne spécifiée sur l'application Console.

using System;

class Program
{
    static void Main()
    {
        Random rnd = new Random();
        for (int i = 1; i <= 5; i++)
        { 
            bool isTrue = rnd.Next(0, 2) == 1;
            Console.WriteLine($"True or False: {isTrue}");
        }
    }
}
using System;

class Program
{
    static void Main()
    {
        Random rnd = new Random();
        for (int i = 1; i <= 5; i++)
        { 
            bool isTrue = rnd.Next(0, 2) == 1;
            Console.WriteLine($"True or False: {isTrue}");
        }
    }
}
Imports System

Friend Class Program
	Shared Sub Main()
		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
	End Sub
End Class
$vbLabelText   $csharpLabel

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

C# Print Line (How It Works For Developers) : Figure 6 - Console affichant des valeurs booléennes à l'aide de l'interpolation de chaînes

Imprimer différents formats numériques

L'impression de divers formats numériques est une exigence courante en programmation, en particulier lorsqu'il s'agit de nombres à virgule flottante en double précision ou en simple précision. Là encore, 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 indique que la valeur double doit être formatée avec 7 chiffres après la virgule. 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 existante est simple. Il suffit d'utiliser Console.WriteLine et d'inclure la chaîne que vous souhaitez afficher.

Pointe flottante simple précision

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

Comme pour la double précision, le format F7 est utilisé ici pour la virgule flottante à simple précision. Vous pouvez ajuster le nombre après "F" en fonction de vos exigences en matière de précision.

Déverrouiller 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 se distingue 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, notamment 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.

C# Print Line (How It Works For Developers) : Figure 7 - Page web IronPrint

Caractéristiques principales 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 de la version .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. support de type de projet:

IronPrint s'adresse à différents types de projets, notamment Mobile (Xamarin & MAUI), Desktop (WPF & MAUI), et Console (App & Library). Cette flexibilité permet de s'adapter à une grande variété d'architectures d'applications.

4. installation facile:

La prise en main d'IronPrint est un jeu d'enfant. Vous pouvez installer rapidement la bibliothèque en utilisant la console du gestionnaire de paquets NuGet et en exécutant la commande Installer-Paquet IronPrint.

Utilisation de base d'IronPrint

Voici un exemple simple démontrant à quel point il est facile d'utiliser IronPrint dans une application de 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 à l'aide de 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.

C# Print Line (How It Works For Developers) : Figure 8 - Fenêtre contextuelle de démarrage de l'impression et fenêtre contextuelle de sauvegarde de 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 dialogue à l'aide de Printer.PrintAsync.
  • Paramètres d'impression personnalisés : Ajustez les paramètres d'impression avec la classe PrintSettings.
  • Impression asynchrone : Exécutez les opérations d'impression de manière asynchrone pour éviter de bloquer le fil d'exécution principal.
  • Sélectionnez l'imprimante : La méthode GetPrinterNames vous permet de choisir parmi les imprimantes disponibles, ce qui vous donne 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 sur des projets .NET Core ciblant des plateformes spécifiques telles que Windows, Android, iOS ou macOS, vous pouvez ajuster la propriété TargetFrameworks dans votre fichier de projet en conséquence.

To get more detailed information on IronPrint, please visit this documentation and API reference pages.

Conclusion

L'impression de lignes en C# est une compétence fondamentale pour le développement d'applications de 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 améliorera votre capacité à créer des programmes de console efficaces et lisibles. Explorez les diverses méthodes fournies par la classe Console, expérimentez les options de formatage et tirez parti de la flexibilité de C# pour produire des sorties de console claires et bien structurées dans vos applications.

IronPrint apparaît comme un allié puissant pour les développeurs C# à la recherche de fonctionnalités d'impression robustes et flexibles. Grâce à sa prise en charge multiplateforme, à sa compatibilité avec diverses versions de .NET et à ses fonctionnalités 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 propose un essai gratuit pour une utilisation commerciale. Téléchargez la bibliothèque à partir de ici et essayez-la.

Questions Fréquemment Posées

Comment puis-je imprimer du texte dans des applications console C# ?

Pour imprimer du texte dans des applications console C#, vous pouvez utiliser la méthode Console.WriteLine, qui affiche la valeur de chaîne spécifiée suivie d'une nouvelle ligne. Pour plus de contrôle, utilisez Console.Write pour gérer manuellement les terminateurs de ligne.

Quelles sont certaines techniques pour contrôler les terminateurs de ligne en C# ?

En C#, vous pouvez contrôler les terminateurs de ligne en utilisant la méthode Console.Write et en ajoutant des caractères comme ' ' pour les nouvelles lignes ou ' ' pour les retours chariot.

Comment imprimer plusieurs lignes d'un coup en utilisant C# ?

Vous pouvez imprimer plusieurs lignes d'un coup en créant une méthode qui accepte une liste de paramètres de longueur variable et itère sur chaque ligne à imprimer en utilisant Console.WriteLine.

Quelles fonctionnalités une bibliothèque d'impression polyvalente pour C# devrait-elle avoir ?

Une bibliothèque d'impression polyvalente pour C# devrait prendre en charge la fonctionnalité multiplateforme, diverses versions de .NET, et différents types de projets. Des fonctionnalités comme l'impression silencieuse, les paramètres d'impression personnalisés, l'impression asynchrone et la sélection de l'imprimante sont essentielles, comme fourni par IronPrint.

Comment puis-je formater la sortie dans les applications console C# ?

Vous pouvez formater la sortie dans les applications console C# en utilisant Console.WriteLine avec des espaces réservés comme {0} pour les variables ou expressions, permettant l'affichage de contenu dynamique.

Puis-je utiliser des sauts de ligne spéciaux et le Unicode dans les sorties console C# ?

Oui, vous pouvez utiliser des séquences d'échappement telles que ' ' pour les sauts de ligne et inclure des caractères Unicode en utilisant des codes comme ' ' dans votre sortie console.

Comment puis-je imprimer des valeurs numériques avec précision en C# ?

Pour imprimer des valeurs numériques avec précision en C#, utilisez des spécificateurs de format dans Console.WriteLine, comme 'F2' pour les nombres à virgule flottante, pour définir le nombre de décimales.

Quelles sont les fonctionnalités avancées d'une bibliothèque d'impression C# ?

Les fonctionnalités avancées d'une bibliothèque d'impression C# incluent l'impression silencieuse, les paramètres d'impression personnalisés, l'impression asynchrone, et la sélection de l'imprimante, réalisables avec des méthodes comme Printer.PrintAsync et GetPrinterNames dans IronPrint.

Comment puis-je installer une bibliothèque d'impression complète dans mon projet C# ?

Vous pouvez installer une bibliothèque d'impression comme IronPrint dans votre projet C# via la console du gestionnaire de paquets NuGet en utilisant la commande Install-Package IronPrint.

Un essai gratuit est-il disponible pour les bibliothèques d'impression C# complètes ?

Oui, un essai gratuit est disponible pour IronPrint, une bibliothèque d'impression C# complète, qui peut être téléchargée depuis le site Iron Software pour une utilisation commerciale.

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