.NET 帮助

如何有效使用 C# 打印行

发布 2024年四月3日
分享:

在 C# 中打印行是控制台应用程序的一个基本方面,它涉及在控制台屏幕上显示文本或指定值。 无论您是使用标准输出流还是格式化字符串,了解如何打印行高效在 C# 控制台应用程序中至关重要。

在本文中,我们将探讨与 C# 中打印行相关的各种方法和技巧。

打印行基础知识

在 C# 中,打印一行通常需要使用 Console.WriteLine 方法。 我们先来看一个简单的例子:

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
VB   C#

在上述代码中,Console.WriteLine 语句输出指定的字符串值("你好,C# 打印行!")之后是新的一行。这是通过 WriteLine 方法实现的,该方法会在输出的末尾添加一个行结束符。

行术语

行结束符是表示一行结束的特殊字符或序列。最常见的两个行结束符是回车符('\r')和换行('\n'). 在 C# 中,Console.WriteLine 方法会根据操作系统使用适当的当前行结束符。

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
VB   C#

在上面的示例中,程序执行后,每次 Console.WriteLine 都会在 C# 控制台窗口中产生一行新的内容,从而产生指定的两行内容。

C# 打印行(如何为开发人员工作):图 1 - 前面代码的控制台输出

指定行术语

如果您需要明确控制行结束符,可以使用 Console.Write 方法并手动添加所需的行结束符:

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
VB   C#

在本例中,回车('\r')光标的作用是将光标定位在行首,从而使文本的第二部分出现在最左侧的位置,即覆盖之前的输出。

C# 打印行(如何为开发人员工作):图 2 - 显示 \r 的控制台输出

打印多行

要在不重复Console.WriteLine语句的情况下打印多行,可以使用长度可变的参数列表:

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
VB   C#

我们创建的PrintLines方法接收指定的字符串参数数组,允许您传递任意数量的新行以打印指定的字符串值:

C# 打印行(如何为开发人员工作):图 3 - 使用 PrintLines 方法的控制台输出

输出格式

输出格式化至关重要,尤其是在处理不同数据类型时。Console.WriteLine方法提供了多个重载,可接受指定对象和格式化信息:

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
VB   C#

在本例中,{0} 是指定对象的占位符(在这种情况下,答案名称)此外,您还可以在输出中包含可变数据,并打印指定的格式信息。

C# 打印行(如何为开发人员工作):图 4 - 显示格式的控制台输出

换行和 Unicode 字符

对于特殊的换行符或 Unicode 字符,可以使用转义序列。 您还可以使用 Console.WriteLine 打印任何 ASCII 文字或有效的 HTML 代码。例如,在同一字符串中加入换行符:

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
VB   C#

在这里,\n\u000A, 指定的 Unicode 字符,都代表换行符,在每种情况下都会使文本移动到下一行。

C# 打印行(如何为开发人员工作):图 5 - 控制台输出显示换行符

随机布尔值

下面的代码在 Console.WriteLine 方法中使用了字符串插值法。 字符串插值是 C# 6.0 中引入的一项功能,它简化了在字符串字面量中嵌入表达式或变量并在控制台应用程序上正确显示指定布尔值的过程。

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
VB   C#

从表达式返回的指定数据将打印在控制台应用程序上,如下所示:

C# 打印行(如何为开发人员工作):图 6 - 使用字符串插值显示布尔值的控制台输出

打印不同的数字格式

打印各种数字格式是编程中的常见要求,尤其是在处理双精度浮点数和单精度浮点数时。 同样,可以使用Console.WriteLine语句来精确、轻松地打印它们。

双精度浮点运算

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}")
VB   C#

在本例中,F7 指定双数值的格式为小数点后 7 位数字。 您可以调整 "F "后面的数字来控制精度。

现有字符串

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}")
VB   C#

打印现有字符串非常简单。 只需使用 Console.WriteLine,并包含要显示的字符串即可。

单精度浮点运算

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}")
VB   C#

与双精度类似,这里的F7格式指定符用于单精度浮点。 您可以根据自己的精度要求调整 "F "后面的数字。

使用 C# 中的 IronPrint 解锁强大的打印功能;

打印文档是许多应用程序的一个基本方面,在 C# 中充分发挥打印的潜力时,IronPrint 作为一个功能丰富的通用库脱颖而出。

IronPrint 简介

铁印由 Iron Software 开发的.NET 打印库是一个高级打印库,专为包括 C# 在内的 .NET 生态系统设计。 无论您是在开发桌面、移动还是网络应用程序,IronPrint 都能与您的 C# 项目无缝集成,为处理各种打印需求提供一套全面的工具。

C# 打印行(如何为开发人员工作):图 7 - IronPrint 网页

IronPrint 的主要功能

1.跨平台兼容性:

IronPrint 支持各种操作系统,包括 Windows、macOS、Android 和 iOS。 这种跨平台兼容性可确保您的打印解决方案能够覆盖不同环境下的用户。

2..NET 版本支持:

IronPrint for .NET 兼容 .NET Framework 4.6.2 及以上版本、.NET Core 3.1+ 以及最新的 .NET 版本,可覆盖广泛的 .NET 环境。

3.项目类型支持:

IronPrint 可满足不同项目类型的需求,包括移动电话(Xamarin 和 MAUI)桌面(WPF 和 MAUI)和控制台(应用程序和图书馆). 这种灵活性使其适用于各种应用架构。

4.易于安装:

IronPrint 入门易如反掌。 您可以使用 NuGet 软件包管理器控制台并执行 Install-Package IronPrint 命令来快速安装该库。

IronPrint 的基本用法

下面是一个简单的示例,演示如何在 C# 控制台应用程序中轻松使用 IronPrint 来*打印***文件

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
VB   C#

此处的输出显示了使用 PrintShowPrintDialog 方法打印文档的情况。 如果未安装物理打印机,则使用默认打印机进行打印。

C# 打印行(如何为开发人员工作):图 8 - 打印开始弹出窗口和保存打印输出弹出窗口

高级打印功能

IronPrint 的功能超出了基本打印任务的范围,并提供了以下高级功能:

  • 静音打印:使用 Printer.PrintAsync 无需显示对话框即可打印文档。
  • 自定义打印设置:使用**打印设置***类。
  • 异步打印:异步执行打印操作,防止阻塞主线程。
  • 选择打印机:打印机*获取打印机名称***该方法允许您从可用的打印机中进行选择,从而对打印过程进行更精细的控制。

特定平台调整

IronPrint 可让您为不同平台量身定制打印解决方案。 例如,在处理针对 Windows、Android、iOS 或 macOS 等特定平台的 .NET Core 项目时,可以相应调整项目文件中的 TargetFrameworks 属性。

要了解有关 IronPrint 的更多详细信息,请访问此网站文件API 参考页码

结论

在 C# 中打印行是控制台应用程序开发的基础技能。 无论是显示文本、格式化输出还是控制行结束符,了解各种可用的技术都将提高您创建高效、可读性强的控制台程序的能力。 探索 Console 类提供的各种方法,尝试使用格式化选项,并利用 C# 的灵活性在您的应用程序中生成清晰、结构良好的控制台输出。

对于寻求强大而灵活的打印功能的 C# 开发人员来说,IronPrint 是一个强大的盟友。 IronPrint 支持跨平台、与各种 .NET 版本兼容并具有高级打印功能,可简化各种 C# 应用程序中打印解决方案的实施。 无论您是为桌面、移动还是网络进行开发,IronPrint 都能为您提供所需的工具,让您在 C# 开发的世界中实现打印需求。

IronPrint 提供了一个免费试用用于商业用途。 从以下网址下载资料库*这里***并试一试。

下一步 >
C# 打印变量:简化代码

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

免费NuGet下载 总下载量: 12,923 查看许可证 >