Test in a live environment
Test in production without watermarks.
Works wherever you need it to.
Printing in C# is a foundational skill for developers, enabling them to communicate with users and log crucial information. The Console class is a versatile tool that offers a range of methods to cater to different scenarios. Microsoft C# programming language also provides a Print method that can be used to print to paper.
In this comprehensive article, we'll explore various aspects of C# printing, covering basic techniques, variable printing, list printing, advanced features, and an in-depth exploration of the IronPrint library.
At the core of C# printing lies the Console.WriteLine method. It's the go-to function for displaying formatted output information on the console. The simplicity of this method is evident in the following example:
Console.WriteLine("Hello, C# Print Function!"); // string line
Console.WriteLine("Hello, C# Print Function!"); // string line
Console.WriteLine("Hello, C# Print Function!") ' string line
This single line prints the specified string line to the console, followed by a newline character, neatly presenting the output.
Printing variable values is a common requirement. C# facilitates this through string interpolation or concatenation. Here's an example illustrating variable printing:
int age = 25;
Console.WriteLine($"Age: {age}");
int age = 25;
Console.WriteLine($"Age: {age}");
Dim age As Integer = 25
Console.WriteLine($"Age: {age}")
In this instance, the value of the age variable is inserted into the string, providing a dynamic and informative output.
One common scenario involves printing user input to the console. Consider the following example:
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}!")
In this case, the program prompts the user for input, captures it, and then the WriteLine method prints a personalized greeting message.
Lists are prevalent in C# programming language, and printing their elements is a useful skill. The following code demonstrates how to print each element of a list on a new line:
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
This loop iterates through the list and prints each fruit on a separate line.
Enums are often used to represent a set of named constants. Printing enum values helps visualize and confirm their usage in your 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}")
This provides clarity on the current state of selection represented by the enum.
If you want to print text content without introducing new lines between each output, the Console.Write method is your choice. This method prevents the output from moving to the next line.
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
This sequence of Write calls produces output on the same line, maintaining a cohesive presentation. This is the only difference between the Write method and the WriteLine method.
Enhance your output with Unicode characters, adding flair to your console messages. For example:
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
Incorporating Unicode characters provides a visually appealing touch to your console output.
During development, print statements are invaluable for debugging. By strategically placing Console.WriteLine statements in your code, you can output variable values or execution points to understand program flow and identify issues.
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}")
This aids in tracking variable values and understanding how calculations or conditions are being processed.
Composite string formatting allows for more dynamic and complex output. You can embed placeholders in a string and replace them with values:
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)
Here, the placeholders {0} and {1} are replaced by the corresponding values, offering a flexible way to structure your output.
Printing the current date and time is a frequent requirement. C# provides various formatting options to display date and time information:
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}")
Customizing the format specifier (d, t, etc.) allows developers to present the information in different ways.
When an exception occurs, printing relevant information can aid in identifying the issue. For example:
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
Printing the exception message assists in quickly diagnosing problems during runtime.
IronPrint, developed by Iron Software, is a robust and versatile printing library designed to empower .NET developers with seamless integration of printing capabilities into their applications. This comprehensive tool stands out for its compatibility across various platforms, including Windows, macOS, Android, and iOS, making it a go-to solution for developers working on diverse projects.
One of IronPrint's key strengths lies in its broad file format support, accommodating PDF, PNG, HTML, TIFF, GIF, JPEG, and BMP. This flexibility allows developers to handle a wide array of printing requirements within their applications. Whether you are working on mobile, desktop, or console applications, IronPrint provides a unified solution for efficient and reliable printing.
IronPrint's feature set includes customizable print settings, enabling developers to tailor the printing experience to specific needs. Additionally, the library offers the option to display print dialogs, enhancing user interaction and control. The compatibility with different .NET versions and project types further contributes to its versatility, making it suitable for a variety of development scenarios.
To get started with IronPrint, install the package using NuGet:
Install-Package IronPrint
Using IronPrint is straightforward. The following code prints a document using IronPrint:
using IronPrint;
Printer.Print("document.pdf");
using IronPrint;
Printer.Print("document.pdf");
Imports IronPrint
Printer.Print("document.pdf")
This minimal setup demonstrates the ease with which IronPrint integrates into your projects.
IronPrint extends functionality by allowing you to show a print dialog before printing:
Printer.ShowPrintDialog("document.pdf");
Printer.ShowPrintDialog("document.pdf");
Printer.ShowPrintDialog("document.pdf")
This feature provides users with additional control over the printing process.
IronPrint enables you to tailor print settings according to your requirements. The following example illustrates customizing settings such as DPI, number of copies, and paper orientation:
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)
This flexibility empowers you to fine-tune the printing process based on specific needs. For more information on IronPrint and its capabilities, please visit this documentation page.
IronPrint boasts compatibility with various environments, including Windows, macOS, Android, and iOS. It seamlessly integrates with .NET 8, 7, 6, 5, Core 3.1+, and .NET Framework (4.6.2+). Whether you're developing for the web, mobile, desktop, or console, IronPrint has you covered.
Mastering the art of printing in C# is essential for creating robust and user-friendly applications. Whether you're using the built-in capabilities of the Console class or leveraging advanced libraries like IronPrint, understanding these printing techniques is crucial. This comprehensive article has equipped you with the knowledge to print effectively in various scenarios, ensuring your applications communicate seamlessly with users and stakeholders.
While IronPrint is a paid library, free trial and its Lite package starts from $749. Download the library from here.
9 .NET API products for your office documents