在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
在 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
您也可以使用 OrderByDescending
使用金鑰從 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
這些範例為在各種情境中列印清單元素提供了基礎。還有其他有用的方法。 列表
其類別提供可用於列印的功能。
一些有用的方法包括:
Remove:
Remove() 方法移除 C# 列表中的第一個出現項目RemoveAll:
移除所有() 該方法用於根據指定的條件刪除元素。RemoveRange:
RemoveRange() 方法根據指定的索引和計數參數刪除一系列元素。Add:
添加() 方法只能在列表的末尾添加一個元素。AddRange:
AddRange() 該方法可用於將指定集合的元素添加到末尾。Clear:
清空() 該方法從列表中移除所有元素。Insert:
插入() 方法在指定索引處將元素插入列表中。ForEach:
The ForEach() 方法用來對每個元素執行特定操作,例如高效地列印每個清單值。ToArray:
The ToArray() 方法將清單複製到新的變數陣列。現在您可以選擇最符合您需求的方法,以提升您的C#程式碼的可讀性和效率。
String.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
的元素被連接成一個用逗號和空格分隔的字串,從而形成一個格式化的輸出。在打印列表元素之前,也可以使用 sort 方法。
對於更複雜的場景,在列印前希望過濾、轉換或格式化元素,可以使用 Language-Integrated Query (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 從原始列表中篩選出偶數。Where()
方法應用於 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開發者在尋求高效打印解決方案時的一個寶貴工具。
以下是一些使 IronPrint 在 C# 應用程式中列印實體文件方面脫穎而出的重要功能:
安裝 IronPrint 使用 NuGet 套件管理器控制台的程式庫:
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 提供使用簡單的靜默列印文檔功能 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")
它還提供了一個專門的方法來顯示 列印
對話框 為了在列印時獲得更好的控制。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 提供多種 print
設定 允許對打印文件進行細粒度控制。
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 參考 頁面。
在 C# 中列印清單需要根據資料的複雜度和所需的輸出選擇合適的方法。無論是使用簡單的迴圈, String.Join
(), LINQ,或自訂
ToString()為自定義對象使用的方法,了解這些方法可以讓您在 C# 應用程序中有效地顯示列表的內容。嘗試這些技術並選擇最適合您特定使用情境的方法。
IronPrint 是您在追求準確性、易用性和速度時的首選打印庫。不論您是在構建 WebApps 、使用 MAUI、Avalonia 或任何與 .NET 相關的東西,IronPrint 都能助您一臂之力。欲了解更多有關 IronPrint 的詳細資訊,請訪問此 文檔 頁面。