在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
在 C# 中,打印列表是一项常见任务,可以通过多种方式完成,具有灵活性和定制性。 列表是 C# 的基本数据结构,能够打印其内容对于调试、记录或向用户显示信息至关重要。
在本文中,我们将探讨不同的方法来用 C# 打印列表.
在 C# 中,一个列表是一个可增大或缩小的动态数组。它是 "System.Collections.Generic "命名空间的一部分,为处理项目集合提供了灵活性和效率。 以下代码创建了一个简单的数字列表:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
}
}
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
打印列表元素的传统而直接的方法是使用 foreach
循环。下面是一个简单的例子:
using System;
using System.Collections.Generic;
class Program
{
public static void Main()
{
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
Console.WriteLine("Printing list using foreach loop:");
foreach (var number in numbers)
{
Console.WriteLine(number);
}
}
}
using System;
using System.Collections.Generic;
class Program
{
public static void Main()
{
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
Console.WriteLine("Printing list using foreach loop:");
foreach (var number in numbers)
{
Console.WriteLine(number);
}
}
}
Imports System
Imports System.Collections.Generic
Friend Class Program
Public Shared Sub Main()
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
Console.WriteLine("Printing list using foreach loop:")
For Each number In numbers
Console.WriteLine(number)
Next number
End Sub
End Class
这种方法简洁易读,适合大多数情况。
如果您需要对索引进行更多控制,或希望有条件地打印元素,可以使用 for
循环。下面是一个字符串列表示例:
using System;
using System.Collections.Generic;
class Program
{
public static void Main()
{
// create list of strongly typed objects
List<string> colors = new List<string> { "Red", "Green", "Blue", "Yellow" };
Console.WriteLine("Printing list using for loop:");
for (int index = 0; index < colors.Count; index++)
{
Console.WriteLine($"Color at index {index}: {colors[index]}");
}
}
}
using System;
using System.Collections.Generic;
class Program
{
public static void Main()
{
// create list of strongly typed objects
List<string> colors = new List<string> { "Red", "Green", "Blue", "Yellow" };
Console.WriteLine("Printing list using for loop:");
for (int index = 0; index < colors.Count; index++)
{
Console.WriteLine($"Color at index {index}: {colors[index]}");
}
}
}
Imports System
Imports System.Collections.Generic
Friend Class Program
Public Shared Sub Main()
' create list of strongly typed objects
Dim colors As New List(Of String) From {"Red", "Green", "Blue", "Yellow"}
Console.WriteLine("Printing list using for loop:")
For index As Integer = 0 To colors.Count - 1
Console.WriteLine($"Color at index {index}: {colors(index)}")
Next index
End Sub
End Class
当您需要访问索引或希望在打印过程中应用特定逻辑时,这种方法非常有用。
使用 "Reverse "方法可以反序打印列表。 这种方法可以颠倒列表中元素的顺序,让您可以遍历并打印这些元素。
例如,您可以使用 Reverse
方法按相反顺序打印列表,然后打印每个元素。
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Reverse();
foreach (var number in numbers)
{
Console.WriteLine(number);
}
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Reverse();
foreach (var number in numbers)
{
Console.WriteLine(number);
}
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
numbers.Reverse()
For Each number In numbers
Console.WriteLine(number)
Next number
您还可以使用按降序排列方法,用一个键从 LINQ 通用类中排列指定的元素集合:
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var reversedNumbers = numbers.OrderByDescending(n => n);
foreach (var number in reversedNumbers)
{
Console.WriteLine(number);
}
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var reversedNumbers = numbers.OrderByDescending(n => n);
foreach (var number in reversedNumbers)
{
Console.WriteLine(number);
}
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
Dim reversedNumbers = numbers.OrderByDescending(Function(n) n)
For Each number In reversedNumbers
Console.WriteLine(number)
Next number
计算列表中元素的数量是一种常见的操作。 为此,可以使用 Count
属性或 Count
方法。 一旦完成统计,您就可以轻松打印。
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
int count = names.Count;
Console.WriteLine($"Number of elements: {count}");
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
int count = names.Count;
Console.WriteLine($"Number of elements: {count}");
Dim names As New List(Of String) From {"Alice", "Bob", "Charlie"}
Dim count As Integer = names.Count
Console.WriteLine($"Number of elements: {count}")
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
int count = names.Count();
Console.WriteLine($"Number of elements: {count}");
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
int count = names.Count();
Console.WriteLine($"Number of elements: {count}");
Dim names As New List(Of String) From {"Alice", "Bob", "Charlie"}
Dim count As Integer = names.Count()
Console.WriteLine($"Number of elements: {count}")
打印指定索引处的元素涉及访问该索引处的列表。 这样您就可以访问不同位置的元素,并确保您能处理潜在的索引超出范围的情况:
List<double> prices = new List<double> { 19.99, 29.99, 39.99 };
int indexToPrint = 1;
if (indexToPrint >= 0 && indexToPrint < prices.Count)
{
Console.WriteLine($"Element at index {indexToPrint}: {prices[indexToPrint]}");
}
else
{
Console.WriteLine("Index out of range.");
}
List<double> prices = new List<double> { 19.99, 29.99, 39.99 };
int indexToPrint = 1;
if (indexToPrint >= 0 && indexToPrint < prices.Count)
{
Console.WriteLine($"Element at index {indexToPrint}: {prices[indexToPrint]}");
}
else
{
Console.WriteLine("Index out of range.");
}
Dim prices As New List(Of Double) From {19.99, 29.99, 39.99}
Dim indexToPrint As Integer = 1
If indexToPrint >= 0 AndAlso indexToPrint < prices.Count Then
Console.WriteLine($"Element at index {indexToPrint}: {prices(indexToPrint)}")
Else
Console.WriteLine("Index out of range.")
End If
这些示例为在各种场景中打印列表元素奠定了基础。 还有其他一些有用的方法,如列表可用于印刷的类报价。
一些有用的方法如下
ToArray:"ToArray"(数组()方法将列表复制到一个新的 var 数组中。
现在,您可以选择最适合您要求的方法,提高 C# 代码的可读性和效率。
"(《世界人权宣言》)字符串.Join方法提供了一种简洁的方式,可将列表中的元素连接成一个带有指定分隔符的字符串。 这对创建格式化的列表字符串表示法很有帮助。
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
string result = string.Join(", ", numbers);
Console.WriteLine(result);
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
string result = string.Join(", ", numbers);
Console.WriteLine(result);
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
Dim result As String = String.Join(", ", numbers)
Console.WriteLine(result)
在这里,列表 numbers
中的元素被连接成一个字符串,中间用逗号和空格隔开,形成格式化输出。 在打印列表元素之前,还可以使用排序方法。
对于更复杂的情况,即您想在打印前过滤、转换或格式化元素,语言集成查询(LINQ)是有益的。
using System.Linq;
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
List<int> evenNumbers = numbers.Where(n => n % 2 == 0).ToList();
Console.WriteLine("Even numbers: " + string.Join(", ", evenNumbers));
using System.Linq;
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
List<int> evenNumbers = numbers.Where(n => n % 2 == 0).ToList();
Console.WriteLine("Even numbers: " + string.Join(", ", evenNumbers));
Imports System.Linq
Private numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
Private evenNumbers As List(Of Integer) = numbers.Where(Function(n) n Mod 2 = 0).ToList()
Console.WriteLine("Even numbers: " & String.Join(", ", evenNumbers))
在本例中,LINQ 用于从原始列表中过滤出偶数。其中()方法使用 lambda 表达式,而 ToList()使用
方法将结果转换回列表。
如果您有一个自定义对象列表,建议覆盖对象类中的 ToString
方法,以便进行有意义的表述。 下面的示例演示了如何做到这一点:
class Person
{
public string Name { get; set; }
public int Age { get; set; }
public override string ToString()
{
return $"{Name}, {Age} years old";
}
}
class Program
{
public static void Main()
{
List<Person> people = new List<Person>
{
new Person { Name = "Alice", Age = 30 },
new Person { Name = "Bob", Age = 25 }
};
foreach (Person person in people)
{
Console.WriteLine(person);
}
}
}
class Person
{
public string Name { get; set; }
public int Age { get; set; }
public override string ToString()
{
return $"{Name}, {Age} years old";
}
}
class Program
{
public static void Main()
{
List<Person> people = new List<Person>
{
new Person { Name = "Alice", Age = 30 },
new Person { Name = "Bob", Age = 25 }
};
foreach (Person person in people)
{
Console.WriteLine(person);
}
}
}
Friend Class Person
Public Property Name() As String
Public Property Age() As Integer
Public Overrides Function ToString() As String
Return $"{Name}, {Age} years old"
End Function
End Class
Friend Class Program
Public Shared Sub Main()
Dim people As New List(Of Person) From {
New Person With {
.Name = "Alice",
.Age = 30
},
New Person With {
.Name = "Bob",
.Age = 25
}
}
For Each person As Person In people
Console.WriteLine(person)
Next person
End Sub
End Class
通过覆盖 ToString()通过
Person类中的
方法,您可以控制该类的实例如何表示为字符串。 这样可以提高清单在打印时的可读性。
IronPrint作为一个功能强大、可部署的打印库,《.NET.Python》在准确性、易用性和速度方面都有突出表现。 对于在其应用程序中寻求高效打印解决方案的 .NET 开发人员来说,它的跨平台支持和与各种文档格式的兼容性使其成为一个非常有价值的工具。
以下是 IronPrint 在 C# 应用程序中打印物理文档方面的一些重要关键功能:
安装IronPrint库:
Install-Package IronPrint
Install-Package IronPrint
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPrint
您也可以使用 Visual Studio 将其安装到您的项目中。 右键单击 "解决方案资源管理器 "中的项目,然后单击 "管理解决方案的 NuGet 包管理器"。 在 NuGet 浏览选项卡中搜索"ironprint",从搜索结果中选择最新版本的 IronPrint 软件包,然后点击安装按钮将其添加到您的项目中。
IronPrint 使用简单的打印 "方法. 如果没有物理打印机,则使用操作系统指定的默认打印机打印。
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")
它还提供了一种专门的方法来展示打印 "对话框以便在打印时更好地控制。 ShowPrintDialogAsync "方法也可用于异步打印。
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")
IronPrint 提供各种打印 "设置s可对打印文件进行细粒度控制。
using IronPrint;
// Configure print settings
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 150;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the document
Printer.Print("newDoc.pdf", printSettings);
using IronPrint;
// Configure print settings
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 150;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the document
Printer.Print("newDoc.pdf", printSettings);
Imports IronPrint
' Configure print settings
Private printSettings As New PrintSettings()
printSettings.Dpi = 150
printSettings.NumberOfCopies = 2
printSettings.PaperOrientation = PaperOrientation.Portrait
' Print the document
Printer.Print("newDoc.pdf", printSettings)
要更好地了解所使用的类和方法,请访问API 参考资料page.
在 C# 中打印列表需要根据数据的复杂程度和所需输出选择正确的方法。 无论是使用简单的循环、String.Join()、LINQ 或自定义
ToString()自定义对象的 ` 方法,了解这些方法可以让您在 C# 应用程序中有效地显示列表内容。 请尝试使用这些技术,并选择最适合您的具体使用情况的技术。
IronPrint如果您希望获得准确性、易用性和快速性,那么".NET "和 "Python "是您的首选打印库。 无论您是在构建 WebApps,还是在使用 MAUI、Avalonia 或任何与 .NET 相关的工具,IronPrint 都能为您提供支持。 有关 IronPrint 的更多详细信息,请访问此处文献资料page.