.NET 帮助

C# 打印变量:简化代码

查克尼特·宾
查克尼特·宾
2024年四月3日
分享:

在 C# 中打印变量是任何开发人员的必备技能。 无论您是在调试代码、向用户显示信息还是仅仅检查程序的状态,Console.WriteLine 语句都是您进行标准输出流操作的首选工具。 Console 类来自命名空间 System,提供 WriteWriteLine 方法用于在控制台窗口上打印变量值。

在这篇综合文章中,我们将探讨C# 中打印变量的各个方面,涵盖不同的数据类型、格式选项和高级技术。

基本变量打印

如下代码示例所示,我们可以使用 Console.WriteLine 方法轻松打印数值。

int integerValue = 42; // specified value
Console.WriteLine($"Integer Value: {integerValue}"); // standard output stream
int integerValue = 42; // specified value
Console.WriteLine($"Integer Value: {integerValue}"); // standard output stream
Dim integerValue As Integer = 42 ' specified value
Console.WriteLine($"Integer Value: {integerValue}") ' standard output stream
$vbLabelText   $csharpLabel

在这个基本示例中,我们声明了一个整数变量(integerValue),并使用Console.WriteLine语句将指定的值打印到控制台。 字符串前的$符号使我们能够使用字符串插值将变量直接嵌入到字符串字面量中。

字符串变量打印

string greeting = "Hello, C#!";
Console.WriteLine($"Greeting: {greeting}");
string greeting = "Hello, C#!";
Console.WriteLine($"Greeting: {greeting}");
Dim greeting As String = "Hello, C#!"
Console.WriteLine($"Greeting: {greeting}")
$vbLabelText   $csharpLabel

打印字符串变量也遵循同样的模式。 我们声明一个字符串变量(greeting),赋值一个字符串("Hello, C#!"),并使用Console.WriteLine进行输出。 这对于显示信息或任何文本信息非常有用。

C# 打印变量(开发人员使用方法):图 1 - 字符串变量输出

如果您想在同一行打印变量的值,可以使用Console.Write方法。 这两种方法的唯一区别是,WriteLine 会在末尾留下一个新行字符,以便在下一行打印下一个输出,而 Write 方法会在同一行打印所有内容。

单行中的多个变量

int x = 5, y = 10;
Console.WriteLine($"X: {x}, Y: {y}");
int x = 5, y = 10;
Console.WriteLine($"X: {x}, Y: {y}");
Dim x As Integer = 5, y As Integer = 10
Console.WriteLine($"X: {x}, Y: {y}")
$vbLabelText   $csharpLabel

通过在字符串中使用逗号分隔,您可以在一行中打印多个变量。 这有利于将相关信息展示在一起。

C# 打印变量(开发人员如何使用):图 2 - 单行输出中的多个变量

变量格式化

double piValue = Math.PI;
Console.WriteLine($"Approximate Value of Pi: {piValue:F5}");
double piValue = Math.PI;
Console.WriteLine($"Approximate Value of Pi: {piValue:F5}");
Dim piValue As Double = Math.PI
Console.WriteLine($"Approximate Value of Pi: {piValue:F5}")
$vbLabelText   $csharpLabel

格式化变得至关重要,尤其是浮点数。 在这里,F5 格式说明符确保 Pi 的值以小数点后五位数字打印。

连接变量

int apples = 3, oranges = 5;
Console.WriteLine("Total Fruits: " + (apples + oranges));
int apples = 3, oranges = 5;
Console.WriteLine("Total Fruits: " + (apples + oranges));
Dim apples As Integer = 3, oranges As Integer = 5
Console.WriteLine("Total Fruits: " & (apples + oranges))
$vbLabelText   $csharpLabel

字符串连接可用于更复杂的输出。 在这里,水果的总数被计算出来并打印在同一行中。

打印变量类型

bool isTrue = true;
Console.WriteLine($"Is True? {isTrue}, Variable Type: {isTrue.GetType()}");
bool isTrue = true;
Console.WriteLine($"Is True? {isTrue}, Variable Type: {isTrue.GetType()}");
Dim isTrue As Boolean = True
Console.WriteLine($"Is True? {isTrue}, Variable Type: {isTrue.GetType()}")
$vbLabelText   $csharpLabel

有时,不仅要显示变量的默认值,还要显示变量的类型,这样做很有好处。 GetType() 方法实现了这一点。

印刷变量的高级技术

使用String.Format

int width = 10, height = 5;
string formattedOutput = String.Format("Dimensions: {0} x {1}", width, height); Console.WriteLine(formattedOutput);
int width = 10, height = 5;
string formattedOutput = String.Format("Dimensions: {0} x {1}", width, height); Console.WriteLine(formattedOutput);
Dim width As Integer = 10, height As Integer = 5
Dim formattedOutput As String = String.Format("Dimensions: {0} x {1}", width, height)
Console.WriteLine(formattedOutput)
$vbLabelText   $csharpLabel

String.Format 方法提供了另一种格式化字符串和打印变量的方式,使您可以对输出结构有更多控制。

逐字字符串

string filePath = @"C:\MyDocuments\file.txt";
Console.WriteLine($"File Path: {filePath}");
string filePath = @"C:\MyDocuments\file.txt";
Console.WriteLine($"File Path: {filePath}");
Dim filePath As String = "C:\MyDocuments\file.txt"
Console.WriteLine($"File Path: {filePath}")
$vbLabelText   $csharpLabel

对于具有转义字符的路径或字符串,可以使用逐字字符串字面量(以@作为前缀)来简化代码。 在这里,字符串格式化有助于轻松打印文件路径。

控制台输出控制

重定向控制台输出

以下代码示例可帮助您将控制台窗口输出写入文件:

using System;
using System.IO;
class Program
{
// public static void Main
    public static void Main(string [] args)
    {
        string outputPath = "output.txt";
        using (StreamWriter sw = new StreamWriter(outputPath))
        {
            Console.SetOut(sw);
            Console.WriteLine("This will be written to the file.");
        }
    }
}
using System;
using System.IO;
class Program
{
// public static void Main
    public static void Main(string [] args)
    {
        string outputPath = "output.txt";
        using (StreamWriter sw = new StreamWriter(outputPath))
        {
            Console.SetOut(sw);
            Console.WriteLine("This will be written to the file.");
        }
    }
}
Imports System
Imports System.IO
Friend Class Program
' public static void Main
	Public Shared Sub Main(ByVal args() As String)
		Dim outputPath As String = "output.txt"
		Using sw As New StreamWriter(outputPath)
			Console.SetOut(sw)
			Console.WriteLine("This will be written to the file.")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

将控制台输出重定向到文件,可以捕获并保存输出,以便进一步分析或记录。

控制台颜色

Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("This text will be displayed in red.");
Console.ResetColor(); // Reset color to default
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("This text will be displayed in red.");
Console.ResetColor(); // Reset color to default
Console.ForegroundColor = ConsoleColor.Red
Console.WriteLine("This text will be displayed in red.")
Console.ResetColor() ' Reset color to default
$vbLabelText   $csharpLabel

更改控制台文本的颜色可以在视觉上强调特定的输出,从而更容易区分不同类型的信息。

IronPrint:让 .NET 开发人员拥有高级打印功能

IronPrint 是由 Iron Software 开发的强大打印库。 IronPrint 是一个全面的打印库,旨在与 .NET 应用程序无缝集成。 IronPrint 是面向 .NET 开发人员的可靠且功能丰富的打印库。 它的跨平台兼容性、对各种文档格式的支持以及可定制的设置使其成为处理各种打印任务的重要工具。 无论您是为桌面、移动还是网络应用程序进行开发,IronPrint 都能提供多功能解决方案,满足您在不断发展的 .NET 开发环境中的打印需求。

C# 打印变量(开发人员如何使用):图 3 - IronPrint

它提供了一系列功能,使开发人员能够处理从基本文档打印到可定制设置和跨平台兼容性等各种打印需求。

主要功能

  1. 格式支持:IronPrint 支持多种文档格式,包括 PDF、PNG、HTML、TIFF、GIF、JPEG 和 BITMAP。这种多样性确保开发人员可以处理不同类型的打印内容。

  2. 可定制设置:开发人员可以根据其应用程序的要求灵活定制打印设置。 这包括设置 DPI(每英寸点数)的选项,指定纸张方向(纵向或横向),以及控制复印数量。

  3. 打印对话框:IronPrint通过允许开发人员在打印前显示打印对话框来促进无缝的用户体验。 这在用户需要与打印过程进行交互并选择特定选项的场景中非常有用。

兼容性和安装

IronPrint for .NET 在不同的 .NET 版本之间具有广泛的兼容性,因此广大开发人员都可以使用。 支持 .NET 8、7、6、5 和 Core 3.1+,以及 .NET Framework (4.6.2+)。 该库适用于各种项目类型,包括移动应用(Xamarin,MAUI)、桌面应用(WPF,MAUI,Windows Avalonia)和控制台应用程序。

安装

要开始使用 IronPrint,开发人员可以使用 NuGet Package Manager 快速安装该库。

Install-Package IronPrint

此外,也可直接从 IronPrint NuGet 官方网站或通过 NuGet Package Manager for Solutions 下载软件包。

应用许可证密钥

在使用 IronPrint 功能之前,开发人员需要申请有效的许可证或试用密钥。 这涉及将许可证密钥分配给License类的LicenseKey属性。 下面的代码片段演示了这一步骤:

using IronPrint; 
// Apply license key
License.LicenseKey = "IRONPRINT.MYLICENSE.KEY.1EF01";
using IronPrint; 
// Apply license key
License.LicenseKey = "IRONPRINT.MYLICENSE.KEY.1EF01";
Imports IronPrint
' Apply license key
License.LicenseKey = "IRONPRINT.MYLICENSE.KEY.1EF01"
$vbLabelText   $csharpLabel

代码示例

打印文档

要使用IronPrint 打印文档,开发人员只需将文件路径传递给Print方法:

using IronPrint;
// Print the document
Printer.Print("newDoc.pdf");
using IronPrint;
// Print the document
Printer.Print("newDoc.pdf");
Imports IronPrint
' Print the document
Printer.Print("newDoc.pdf")
$vbLabelText   $csharpLabel

打印带对话框

对于需要打印对话框的场景,可以使用ShowPrintDialog方法:

using IronPrint;
// Show print dialog
Printer.ShowPrintDialog("newDoc.pdf");
using IronPrint;
// Show print dialog
Printer.ShowPrintDialog("newDoc.pdf");
Imports IronPrint
' Show print dialog
Printer.ShowPrintDialog("newDoc.pdf")
$vbLabelText   $csharpLabel

自定义打印设置

要以编程方式配置打印设置,开发人员可以实例化PrintSettings类:

using IronPrint;
// Configure print setting
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 150;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the document with custom settings
Printer.Print("newDoc.pdf", printSettings);
using IronPrint;
// Configure print setting
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 150;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the document with custom settings
Printer.Print("newDoc.pdf", printSettings);
Imports IronPrint
' Configure print setting
Private printSettings As New PrintSettings()
printSettings.Dpi = 150
printSettings.NumberOfCopies = 2
printSettings.PaperOrientation = PaperOrientation.Portrait
' Print the document with custom settings
Printer.Print("newDoc.pdf", printSettings)
$vbLabelText   $csharpLabel

有关更多编码示例,请访问此代码示例页面。

结论

在 C# 中打印变量是每个开发人员都应掌握的基本技能。 Console.WriteLine 语句结合字符串连接、字符串字面量和字符串插值等各种格式化技术,提供了一种灵活而有效的输出变量值的方法。 随着您探索更复杂的场景,如处理不同的数据类型和高级格式化选项,您将提高在 C# 程序中有效交流信息的能力。

IronPrint 是一个付费库,但开发人员可以使用免费试用许可证探索其功能。 如需更多信息,开发人员可以访问官方网站的文档API 参考页面。 从这里下载库并试用。

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
如何有效使用 C# 打印行
下一步 >
掌握 C# 打印功能:开发人员指南

准备开始了吗? 版本: 2025.4 刚刚发布

查看许可证 >