.NET ヘルプ

C#でリストを印刷する(開発者向けの方法)

更新済み 5月 20, 2024
共有:

C#(シーシャープ)では、リストの印刷は一般的なタスクであり、さまざまな方法で実現できるため、柔軟性とカスタマイズ性があります。 リストは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
VB   C#

ループを使ったリストの印刷

1.foreachループの使用

リストの要素を表示する伝統的で簡単な方法は、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
VB   C#

この方法は簡潔で読みやすく、ほとんどのシナリオに適している。

2.forループの使用

インデックスをもっとコントロールしたい場合や、条件付きで要素を表示したい場合は、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
VB   C#

この方法は、インデックスへのアクセスが必要な場合や、印刷中に特定のロジックを適用したい場合に有効です。

リスト要素の反転印刷

逆順にリストを印刷するには Reverse メソッドを使用します。 このメソッドは、リスト内の要素の順序を反転させ、それを反復して表示することができる。

1.List.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
VB   C#

2.LINQ OrderByDescendingの使用法

を使用することもできます。 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
VB   C#

要素数のカウントと印刷

リスト内の要素数を数えるのはよくある操作だ。 この目的のために、Count プロパティまたは Count メソッドを使用することができる。 カウントができたら、簡単に印刷できる。

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

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

指定したインデックスのリスト要素を印刷する

指定したインデックスの要素を印刷するには、そのインデックスのリストにアクセスする必要があります。 これにより、異なる場所にあるエレメントにアクセスし、インデックスが範囲外になる可能性のあるシナリオを確実に処理することができる:

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

これらの例は、さまざまなシナリオでリスト要素を印刷するための基礎となる。 には他にも便利な方法がある。 リスト クラスはPrintingで使用できる。

いくつかの便利な方法がある:

  • Remove:`削除() メソッドは、C# (シーシャープ) のリストで最初に出現したものを削除します。
  • RemoveAll:` RemoveAll() メソッドは、指定された述語に基づいて要素を削除するために使用されます。
  • RemoveRange:` 範囲を削除する。() メソッドは、指定された index と count パラメータに基づいて要素の範囲を削除します。
  • Add:` 追加() メソッドはリストの最後に1つの要素しか追加できない。
  • AddRange:AddRange:レンジを追加する。() メソッドを使用すると、指定したコレクションの要素を末尾に追加できます。
  • クリア:クリア() メソッドはリストからすべての要素を削除する。
  • 挿入:` 挿入() メソッドは、指定されたインデックスのリストに要素を挿入します。
  • ForEach:`フォーイーチ() メソッドは、各要素に対して特定のアクションを実行するために使用されます。

  • ToArray:`ToArray。() メソッドはリストを新しい var 配列にコピーします。

    あなたの要件に最も適したアプローチを選択し、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)
VB   C#

ここでは、リスト numbers の要素がカンマとスペースで区切られた文字列に結合され、書式付きで出力される。 ソート・メソッドは、リスト要素を印刷する前にも使える。

高度なシナリオにLINQを使う

印刷前に要素をフィルタリング、変換、フォーマットするような複雑なシナリオでは、言語統合クエリ (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))
VB   C#

この例では、LINQを使って元のリストから偶数を除外している。ここで()メソッドはラムダ式で適用される。()メソッドは、結果をリストに戻すために使われる。

C# シーシャープでリストを印刷する(開発者のための仕組み):図1 - コンソールの出力:偶数:2, 4

カスタムオブジェクトと ToString() メソッド

カスタムオブジェクトのリストがある場合は、オブジェクトクラスで 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
VB   C#

をオーバーライドする。()クラスの Person メソッドを使うと、クラスのインスタンスが文字列としてどのように表現されるかをコントロールできる。 これにより、印刷時のリストの読みやすさが向上します。

C# リストの印刷 (開発者のための仕組み):図2 - コンソール出力

IronPrint の紹介 - C# (シーアンドナム; 印刷ライブラリ)

IronPrint 正確さ、使いやすさ、スピードを最優先し、パワフルで導入しやすい印刷ライブラリとして際立っています。 クロスプラットフォームのサポートとさまざまな文書形式との互換性により、アプリケーションで効率的な印刷ソリューションを求める.NET開発者にとって価値あるツールとなっています。

C# リストの印刷 (開発者のための仕組み):図3 - IronPrint for .NET (.NET用アイアンプリント):C#印刷ライブラリ

主な機能

ここでは、C# (シーシャープ)アプリケーションで物理的なドキュメントを印刷するためにIronPrintを際立たせる重要な機能を紹介します:

1.クロスプラットフォーム互換性

  • .NET バージョンサポート: .NET 8、7、6、5、および Core 3.1+
  • オペレーティングシステムWindows (7以上、サーバー2016以上)マックオス (10+)iOS (11+)アンドロイドAPI 21以上 (v5 "ロリポップ")

  • プロジェクトの種類モバイル (Xamarin & MAUI & アバロニア)デスクトップ (WPF & MAUI & Windows Avalonia)コンソール (アプリ&ライブラリー)

2.対応フォーマット

  • PDF、PNG、HTML、TIFF、GIF、JPEG、IMAGE、BITMAPなど、さまざまなドキュメント形式を扱えます。
  • ドキュメントの要件に応じて印刷設定をカスタマイズします。

3.簡単な取り付け

インストール IronPrint ライブラリを使用します:

Install-Package IronPrint
Install-Package IronPrint
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPrint
VB   C#

あるいは、Visual Studioを使ってプロジェクトにインストールすることもできる。 ソリューション・エクスプローラーでプロジェクトを右クリックし、[Manage NuGet Package Manager for Solutions]をクリックします。 NuGetブラウズタブで、"ironprint "を検索し、検索結果からIronPrintパッケージの最新バージョンを選択し、インストールボタンをクリックしてプロジェクトに追加します。

IronPrint (アイアンプリント):コード例

1.印刷ドキュメント

アイアンプリントは、簡単な操作で文書を無音で印刷します。 Print`メソッド. 物理的なプリンターが利用できない場合は、OSによって指定されたデフォルトのプリンターを使って印刷する。

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

2.ダイアログ付き印刷

また 印刷ダイアログ 印刷時のコントロールを向上させる。 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")
VB   C#

3.印刷設定のカスタマイズ

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

使用されているクラスやメソッドについて理解を深めるには APIリファレンス ページ

結論

C#(シーシャープ)でリストを印刷するには、データの複雑さと必要な出力に基づいて適切なメソッドを選択する必要があります。 単純なループを使うにせよ、`String.Join()をカスタマイズすることもできる。()これらのアプローチを理解することで、C#(シーシャープ)アプリケーションでリストの内容を効果的に表示できるようになります。 これらのテクニックを試してみて、特定のユースケースに最も適したものを選択する。

IronPrint 正確さ、使いやすさ、スピードを求めるのであれば、印刷ライブラリが最適です。 Webアプリケーションの構築、MAUI、Avalonia、その他.NETに関連することなら何でも、IronPrint (アイアンプリント)にお任せください。 アイアンプリントの詳細については、こちらをご覧ください。 ドキュメント ページ

アイアンプリントは有料のライブラリですが 無料試用. ライブラリを以下からダウンロード これ 試してみてください。!

< 以前
C# 印刷機能(開発者向けの使い方)
次へ >
C# コンソールに出力する(開発者向けの使い方)

準備はできましたか? バージョン: 2024.8 新発売

無料のNuGetダウンロード 総ダウンロード数: 7,144 View Licenses >