.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 字符,可以使用转义序列。您还可以使用 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&num 中的 IronPrint 解锁强大的打印功能;

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

IronPrint 简介

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

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

IronPrint 的主要功能

1.跨平台兼容性:

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

2.支持 .NET 版本:

IronPrint 兼容 .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#的灵活性在应用程序中生成清晰、结构良好的控制台输出。

IronPrint 是 C# 开发人员寻求强大而灵活的打印功能的强大盟友。凭借其跨平台支持、与各种 .NET 版本的兼容性以及先进的打印功能,IronPrint 可简化各种 C# 应用程序中打印解决方案的实施。无论您是为桌面、移动还是 Web 开发,IronPrint 都能为您提供所需的工具,让您在 C# 开发世界中实现打印需求。

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

下一步 >
C# 打印变量(开发人员如何使用)

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

免费NuGet下载 总下载量: 7,289 查看许可证 >