.NETヘルプ C#印刷リスト: クイックチュートリアル Curtis Chau 更新日:7月 28, 2025 Download IronPrint NuGet Download Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article C#では、リストを印刷することは一般的なタスクであり、さまざまな方法で達成でき、柔軟性とカスタマイズ性を提供します。 リストはC#の基本的なデータ構造であり、その内容を印刷できることはデバッグ、ロギング、またはユーザーへの情報表示に重要です。 この記事では、C#でリストを印刷するさまざまな方法を探ります。 C#におけるリストの基本 C#では、listはサイズが増減できる動的配列です。それは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 $vbLabelText $csharpLabel ループを使用してリストを印刷 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 $vbLabelText $csharpLabel この方法は簡潔で読みやすく、ほとんどのシナリオに適しています。 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 $vbLabelText $csharpLabel このアプローチはインデックスにアクセスしたり、印刷中に特定のロジックを適用したりする必要がある場合に有益です。 リストの要素を逆順に印刷 リストを逆順に印刷するには、Reverseメソッドを利用することができます。 この方法はリストの要素の順序を逆にし、それらを通してイテレートして印刷できるようにします。 1. List.Reverseメソッドを使用 たとえば、Reverseメソッドを使用してリストを逆順に印刷し、各要素を印刷できます。 using System; using System.Collections.Generic; class Program { public static void Main() { List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; numbers.Reverse(); 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 }; numbers.Reverse(); 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} numbers.Reverse() For Each number In numbers Console.WriteLine(number) Next number End Sub End Class $vbLabelText $csharpLabel 2. LINQ OrderByDescendingを使用 OrderByDescendingメソッドを使用して、LINQのジェネリッククラスから指定されたコレクションの要素を並べ替えることもできます。 using System; using System.Collections.Generic; using System.Linq; class Program { public static void Main() { 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); } } } using System; using System.Collections.Generic; using System.Linq; class Program { public static void Main() { 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); } } } Imports System Imports System.Collections.Generic Imports System.Linq Friend Class Program Public Shared Sub Main() 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 End Sub End Class $vbLabelText $csharpLabel 要素の数を数えて印刷 リストの要素数を数えることは一般的な操作です。 Countプロパティはこの目的に使用できます。 数を取得したら、それを簡単に印刷できます。 1. List.Countプロパティを使用 using System; using System.Collections.Generic; class Program { public static void Main() { List<string> names = new List<string> { "Alice", "Bob", "Charlie" }; int count = names.Count; Console.WriteLine($"Number of elements: {count}"); } } using System; using System.Collections.Generic; class Program { public static void Main() { List<string> names = new List<string> { "Alice", "Bob", "Charlie" }; int count = names.Count; Console.WriteLine($"Number of elements: {count}"); } } Imports System Imports System.Collections.Generic Friend Class Program Public Shared Sub Main() Dim names As New List(Of String) From {"Alice", "Bob", "Charlie"} Dim count As Integer = names.Count Console.WriteLine($"Number of elements: {count}") End Sub End Class $vbLabelText $csharpLabel 2. LINQ Countメソッドを使用 LINQが好まれる場合、それもカウントに使用できます。 using System; using System.Collections.Generic; using System.Linq; class Program { public static void Main() { List<string> names = new List<string> { "Alice", "Bob", "Charlie" }; int count = names.Count(); Console.WriteLine($"Number of elements: {count}"); } } using System; using System.Collections.Generic; using System.Linq; class Program { public static void Main() { List<string> names = new List<string> { "Alice", "Bob", "Charlie" }; int count = names.Count(); Console.WriteLine($"Number of elements: {count}"); } } Imports System Imports System.Collections.Generic Imports System.Linq Friend Class Program Public Shared Sub Main() Dim names As New List(Of String) From {"Alice", "Bob", "Charlie"} Dim count As Integer = names.Count() Console.WriteLine($"Number of elements: {count}") End Sub End Class $vbLabelText $csharpLabel 指定されたインデックスでのリスト要素の印刷 指定したインデックスでの要素の印刷は、そのインデックスでリストにアクセスすることを伴います。 これにより、異なる場所の要素にアクセスすることができ、潜在的なインデックス範囲外のシナリオを処理できます。 using System; using System.Collections.Generic; class Program { public static void Main() { 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."); } } } using System; using System.Collections.Generic; class Program { public static void Main() { 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."); } } } Imports System Imports System.Collections.Generic Friend Class Program Public Shared Sub Main() 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 End Sub End Class $vbLabelText $csharpLabel これらの例は、さまざまなシナリオでリストの要素を印刷するための基礎を提供します。 listクラスが提供する印刷に使用できる他の便利なメソッドもあります。 いくつかの便利な方法は次のとおりです: Remove: Remove()メソッドはC#リストの最初の出現を削除します。 RemoveAll: RemoveAll()メソッドは指定された条件に基づいて要素を削除するために使用されます。 RemoveRange: RemoveRange()メソッドは、指定されたインデックスとカウントパラメータに基づいて要素の範囲を削除します。 Add: Add()メソッドはリストの最後に1つの要素を追加するだけです。 AddRange: AddRange()メソッドは、指定されたコレクションの要素を末尾に追加できます。 Clear: Clear()メソッドは、リストからすべての要素を削除します。 Insert: Insert()メソッドは指定されたインデックスでリストに要素を挿入します。 ForEach: ForEach()メソッドは、各要素に対して特定のアクションを実行するために使用されます。例:各リスト値を効率的に印刷します。 ToArray: ToArray()メソッドはリストを新しい配列にコピーします。 今、あなたはあなたの要件に最適なアプローチを選び、C#コードの可読性と効率を向上させることができます。 String.Joinメソッド String.Joinメソッドは、指定されたセパレータで配列内の要素を単一の文字列に結合するための簡便な方法を提供します。 これは、リストのフォーマットされた文字列表現を作成するのに役立ちます。 using System; using System.Collections.Generic; class Program { public static void Main() { List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; string result = string.Join(", ", numbers); Console.WriteLine(result); } } using System; using System.Collections.Generic; class Program { public static void Main() { List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; string result = string.Join(", ", numbers); Console.WriteLine(result); } } 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} Dim result As String = String.Join(", ", numbers) Console.WriteLine(result) End Sub End Class $vbLabelText $csharpLabel ここで、リストnumbersの要素たちはカンマとスペースで区切られた文字列に結合され、フォーマットされた出力となります。 並べ替えの方法もリストの要素を印刷する前に使用できます。 LINQを使用した高度なシナリオ より複雑なシナリオでは、印刷前に要素をフィルターし、変換し、またはフォーマットしたい場合は、言語統合クエリ(LINQ)が有用です。 using System; using System.Collections.Generic; using System.Linq; class Program { public static void Main() { 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; using System.Collections.Generic; using System.Linq; class Program { public static void Main() { 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 Imports System.Collections.Generic Imports System.Linq Friend Class Program Public Shared Sub Main() Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5} Dim evenNumbers As List(Of Integer) = numbers.Where(Function(n) n Mod 2 = 0).ToList() Console.WriteLine("Even numbers: " & String.Join(", ", evenNumbers)) End Sub End Class $vbLabelText $csharpLabel この例では、LINQを使用して元のリストから偶数を除外しています。Where()メソッドにはラムダ式が適用され、ToList()メソッドにより結果が再びリストに変換されます。 カスタムオブジェクトとToString()メソッド カスタムオブジェクトのリストがある場合、オブジェクトクラスでToStringメソッドをオーバーライドして意味のある表現を提供することを推奨します。 次の例でその方法を示します。 using System; using System.Collections.Generic; 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); } } } using System; using System.Collections.Generic; 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); } } } Imports System Imports System.Collections.Generic 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 $vbLabelText $csharpLabel ToString()メソッドをクラスPersonでオーバーライドすることにより、そのクラスのインスタンスが文字列として表現される方法を制御します。 これによりリストの印刷時の可読性が向上します。 IronPrintの紹介 - C#印刷ライブラリ IronPrintは強力で展開可能な印刷ライブラリとして際立っており、精度、使いやすさ、速度を重視しています。 そのクロスプラットフォームサポートとさまざまなドキュメントフォーマットとの互換性により、.NET開発者がアプリケーションで効率的な印刷ソリューションを求める際の価値あるツールとなります。 主要機能 ここでは、IronPrintがC#アプリケーションで実際のドキュメントを印刷するために突出するいくつかの重要な特徴を示します。 1. クロスプラットフォーム互換性 .NETバージョンサポート:.NET 8, 7, 6, 5, Core 3.1+ オペレーティングシステム:Windows (7+, Server 2016+), macOS (10+), iOS (11+), Android API 21+ (v5 "Lollipop") プロジェクトタイプ:モバイル (Xamarin & MAUI & Avalonia), デスクトップ (WPF & MAUI & Windows Avalonia), コンソール (App & Library) 2. サポートフォーム PDF, PNG, HTML, TIFF, GIF, JPEG, IMAGE, BITMAPを含む様々なドキュメント形式を処理することができます。 ドキュメントの要件に応じて印刷設定をカスタマイズできます。 3. 簡単なインストール NuGetパッケージマネージャーコンソールを使用してIronPrintライブラリをインストールします。 Install-Package IronPrint また、Visual Studioを使用してプロジェクトにインストールすることもできます。 ソリューションエクスプローラーでプロジェクトを右クリックし、ソリューション管理のNuGetパッケージをクリックします。 NuGetブラウズタブで"ironprint"を検索し、検索結果から最新のIronPrintパッケージを選択し、インストールボタンをクリックしてプロジェクトに追加します。 IronPrintを使った印刷:コード例 1. ドキュメントを印刷 IronPrintはPrintメソッドを使用して、ドキュメントをサイレントに印刷します。 物理的なプリンターが利用できない場合、OSによって指定されたデフォルトのプリンターを使用して印刷します。 using IronPrint; class Program { static void Main() { // Print the document Printer.Print("newDoc.pdf"); } } using IronPrint; class Program { static void Main() { // Print the document Printer.Print("newDoc.pdf"); } } Imports IronPrint Friend Class Program Shared Sub Main() ' Print the document Printer.Print("newDoc.pdf") End Sub End Class $vbLabelText $csharpLabel 2. ダイアログ付きで印刷 印刷時により良い制御を得るためにprintダイアログを表示する専用メソッドも提供しています。 ShowPrintDialogAsyncメソッドは非同期で印刷するためにも使用できます。 using IronPrint; class Program { static void Main() { // Show print dialog Printer.ShowPrintDialog("newDoc.pdf"); } } using IronPrint; class Program { static void Main() { // Show print dialog Printer.ShowPrintDialog("newDoc.pdf"); } } Imports IronPrint Friend Class Program Shared Sub Main() ' Show print dialog Printer.ShowPrintDialog("newDoc.pdf") End Sub End Class $vbLabelText $csharpLabel 3. 印刷設定のカスタマイズ IronPrintは、ドキュメントの印刷を微細に制御するためのさまざまなprint設定を提供します。 using IronPrint; class Program { static void Main() { // Configure print settings PrintSettings printSettings = new PrintSettings() { Dpi = 150, NumberOfCopies = 2, PaperOrientation = PaperOrientation.Portrait }; // Print the document Printer.Print("newDoc.pdf", printSettings); } } using IronPrint; class Program { static void Main() { // Configure print settings PrintSettings printSettings = new PrintSettings() { Dpi = 150, NumberOfCopies = 2, PaperOrientation = PaperOrientation.Portrait }; // Print the document Printer.Print("newDoc.pdf", printSettings); } } Imports IronPrint Friend Class Program Shared Sub Main() ' Configure print settings Dim printSettings As New PrintSettings() With { .Dpi = 150, .NumberOfCopies = 2, .PaperOrientation = PaperOrientation.Portrait } ' Print the document Printer.Print("newDoc.pdf", printSettings) End Sub End Class $vbLabelText $csharpLabel 使用されるクラスとメソッドについてより良い理解を得るために、APIリファレンスページをご覧ください。 結論 C#でリストを印刷することは、データの複雑さや望む出力に基づいて適切な方法を選択することが含まれます。 単純なループ使用、String.Join()、LINQ、またはカスタムオブジェクトのToString()メソッドのカスタマイズを使用するかどうかにかかわらず、これらのアプローチを理解することは、C#アプリケーションでリストの内容を効果的に表示するための力を与えます。 これらの手法を試し、特定の用途に最も適したものを選びましょう。 IronPrintは精度、使いやすさ、速度を求める場合の印刷ライブラリです。 WebAppsを構築している場合、MAUI、Avaloniaと作業している場合、または.NET関連の何かをしている場合でも、IronPrintはあなたをサポートします。 IronPrintの詳細な情報については、このドキュメントページをご覧ください。 IronPrintは有料のライブラリですが、無料トライアルが利用可能です。 ライブラリをここからダウンロードしてお試しください! よくある質問 C# でリストを印刷するにはどうすればいいですか? C# でリストを印刷するために IronPrint を使用することができます。 foreach または for ループを使用してリスト要素を反復処理し、フォーマットされた出力を IronPrint に渡して印刷します。 C# で動的配列を使用する利点は何ですか? C# の動的配列、またはリストは、サイズが増減できるため柔軟性を提供します。それらは System.Collections.Generic 名前空間の一部であり、コレクションの効率的な処理と操作を可能にします。 C# でリストを逆順に印刷するにはどうすればいいですか? リストを逆順に印刷するには、Reverse メソッドまたは LINQ の OrderByDescending を使用し、逆順にしたリストを IronPrint で印刷することができます。 印刷用にリストを文字列としてフォーマットするにはどうすればいいですか? String.Join メソッドを使用して、リスト要素を指定されたセパレータで連結し、単一のフォーマットされた文字列にすることができます。このフォーマットされた文字列を IronPrint を使用して印刷できます。 カスタムオブジェクトの印刷における ToString メソッドの役割は何ですか? ToString メソッドをオーバーライドすることで、カスタムオブジェクトのインスタンスが文字列としてどのように表現されるかを定義でき、IronPrint で印刷されたときの読みやすさが向上します。 C# で特定の要素をフィルタリングして印刷するにはどうすればいいですか? LINQ メソッドの Where を使用して、リストから特定の要素をフィルタリングして選択できます。フィルタリングされた結果を IronPrint を使用して印刷できます。 .NET 向けの印刷ライブラリをインストールするにはどうすればいいですか? NuGet Package Manager Console を使用してコマンド Install-Package IronPrint を入力するか、Visual Studio の NuGet Package Manager を通じて IronPrint をインストールできます。 .NET 開発者向けに IronPrint が提供する機能は何ですか? IronPrint はクロスプラットフォーム互換性、さまざまなドキュメント形式のサポート、サイレント印刷、印刷ダイアログ、およびカスタマイズ可能な印刷設定を提供し、.NET 開発者にとって強力な選択肢です。 Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 更新日 7月 28, 2025 C# 印刷ラインを効果的に使用する方法 この記事では、C#でのライン印刷に関連するさまざまなメソッドと技術を探ります。 詳しく読む 更新日 6月 22, 2025 C#の印刷変数: コードを簡素化する この包括的な記事では、異なるデータ型、フォーマットオプション、および高度な技術をカバーし、C#での変数印刷のさまざまな側面を探ります。 詳しく読む 更新日 7月 28, 2025 C#印刷機能をマスターする: 開発者ガイド C#印刷の核心にあるのはConsole.WriteLineメソッドです。フォーマット済みの出力情報をコンソールに表示するための方法です 詳しく読む C#印刷機能をマスターする: 開発者ガイドC# 印刷コンソール: ステッ...
更新日 6月 22, 2025 C#の印刷変数: コードを簡素化する この包括的な記事では、異なるデータ型、フォーマットオプション、および高度な技術をカバーし、C#での変数印刷のさまざまな側面を探ります。 詳しく読む
更新日 7月 28, 2025 C#印刷機能をマスターする: 開発者ガイド C#印刷の核心にあるのはConsole.WriteLineメソッドです。フォーマット済みの出力情報をコンソールに表示するための方法です 詳しく読む