ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
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
これらの例は、さまざまなシナリオでリスト要素を印刷するための基礎となる。 には他にも便利な方法がある。リストクラスはPrintingで使用できる。
いくつかの便利な方法がある:
AddRange:
レンジを追加する。()メソッドを使用すると、指定したコレクションの要素を末尾に追加できます。ToArray:`ToArray。()メソッドはリストを新しい var 配列にコピーします。
あなたの要件に最も適したアプローチを選択し、C#(シーシャープ)コードの可読性と効率を高めることができます。
について文字列.結合メソッドは、リストの要素を指定した区切り文字でひとつの文字列に連結する簡潔な方法を提供する。 これは、リストのフォーマットされた文字列表現を作成するのに便利である。
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を使って元のリストから偶数を除外している。ここで()メソッドはラムダ式で適用される。()メソッドは、結果をリストに戻すために使われる。
カスタムオブジェクトのリストがある場合は、オブジェクトクラスで 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
をオーバーライドする。()クラスの Person
メソッドを使うと、クラスのインスタンスが文字列としてどのように表現されるかをコントロールできる。 これにより、印刷時のリストの読みやすさが向上します。
IronPrint正確さ、使いやすさ、スピードを最優先し、パワフルで導入しやすい印刷ライブラリとして際立っています。 クロスプラットフォームのサポートとさまざまな文書形式との互換性により、アプリケーションで効率的な印刷ソリューションを求める.NET開発者にとって価値あるツールとなっています。
ここでは、C# (シーシャープ)アプリケーションで物理的なドキュメントを印刷するためにIronPrintを際立たせる重要な機能を紹介します:
インストールIronPrintライブラリを使用します:
Install-Package IronPrint
Install-Package IronPrint
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPrint
あるいは、Visual Studioを使ってプロジェクトにインストールすることもできる。 ソリューション・エクスプローラーでプロジェクトを右クリックし、[Manage NuGet Package Manager for Solutions]をクリックします。 NuGetブラウズタブで、"ironprint "を検索し、検索結果からIronPrintパッケージの最新バージョンを選択し、インストールボタンをクリックしてプロジェクトに追加します。
IronPrintは、簡単な操作で文書を無音で印刷します。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")
また印刷ダイアログ印刷時のコントロールを向上させる。 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()をカスタマイズすることもできる。()これらのアプローチを理解することで、C#(シーシャープ)アプリケーションでリストの内容を効果的に表示できるようになります。 これらのテクニックを試してみて、特定のユースケースに最も適したものを選択する。
IronPrint正確さ、使いやすさ、スピードを求めるのであれば、印刷ライブラリが最適です。 Webアプリケーションの構築、MAUI、Avalonia、その他.NETに関連することなら何でも、IronPrintにお任せください。 IronPrintの詳細については、こちらをご覧ください。ドキュメントページ
9つの .NET API製品 オフィス文書用