ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
リストは、C#でデータのコレクションを保存および操作するために使用される多用途で動的なデータ構造です。 リストは、強力で型安全なコレクションクラスや強い型付けされたオブジェクトを提供する System.Collections.Generic
名前空間の一部です。 初心者向けのこのチュートリアルでは、C# リストの基本的な使い方について説明します。要素の作成/追加、指定されたインデックスまたは最初の出現アクセス、指定された要素の変更、要素の削除、およびいくつかの一般的な使用例が含まれます。
Listクラスを使い始めるには、まずコードにSystem.Collections
ジェネリック名前空間をインクルードする必要があります:
using System.Collections.Generic;
using System.Collections.Generic;
Imports System.Collections.Generic
汎用的な名前空間を追加した後、角括弧内で格納したいすべての要素のデータ型を指定して新しいList
オブジェクトを作成します。(申し訳ありませんが、変換する英語のテキストが提供されていないようです。英語のテキストを提供していただければ、日本語に翻訳いたします。). 以下は、整数のリストを作成する方法の例です:
List<int> numbers = new List<int>();
List<int> numbers = new List<int>();
Dim numbers As New List(Of Integer)()
このように、初期値を持つリストや、指定されたコレクションで定義されたリストに要素を挿入することもできます:
List<string> fruits = new List<string> { "apple", "banana", "cherry" };
List<string> fruits = new List<string> { "apple", "banana", "cherry" };
Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}
上記の例では、リストのデフォルトの初期容量を指定することもできます。 指定された初期容量は、リストのデフォルトの最大容量です。
内部データ構造リストに要素を追加するには、`Add()メソッド:
numbers.Add(1); // adds first element
numbers.Add(2);
numbers.Add(3);
numbers.Add(1); // adds first element
numbers.Add(2);
numbers.Add(3);
numbers.Add(1) ' adds first element
numbers.Add(2)
numbers.Add(3)
AddRange`メソッドを使用すると、指定したコレクションの要素の範囲をリストに追加することもできます:
List<int> moreNumbers = new List<int> { 4, 5, 6 };
numbers.AddRange(moreNumbers);
List<int> moreNumbers = new List<int> { 4, 5, 6 };
numbers.AddRange(moreNumbers);
Dim moreNumbers As New List(Of Integer) From {4, 5, 6}
numbers.AddRange(moreNumbers)
配列と同様に、インデックスを使用してリストの各要素にアクセスできます。
string firstFruit = fruits[0]; // "apple"
string secondFruit = fruits[1]; // "banana"
string firstFruit = fruits[0]; // "apple"
string secondFruit = fruits[1]; // "banana"
Dim firstFruit As String = fruits(0) ' "apple"
Dim secondFruit As String = fruits(1) ' "banana"
リストはゼロベースのインデックスなので、最初の要素のインデックスは0であることに注意してください。要素が存在する場合、上記の例はその要素を文字列に格納します。
リストの要素を変更するには、ゼロベースのインデックスを念頭に置きながら、希望するインデックスの要素に新しい値を代入するだけです:
fruits[1] = "blueberry";
fruits[1] = "blueberry";
fruits(1) = "blueberry"
現在、フルーツリストの2番目の要素は「バナナ」ではなく「ブルーベリー」です。
リストから要素を削除するには、指定された要素の最初の出現を削除する Remove
メソッドを使用できます:
fruits.Remove("apple");
fruits.Remove("apple");
fruits.Remove("apple")
別の方法として、要素が存在する場合、指定されたインデックスの要素を削除するために RemoveAt
メソッドを使用できます。
fruits.RemoveAt(0);
fruits.RemoveAt(0);
fruits.RemoveAt(0)
リストからすべての要素を削除するには、Clear
メソッドを使用します。
fruits.Clear();
fruits.Clear();
fruits.Clear()
を含む()リストに特定の要素が含まれているかどうかをチェックする ` メソッド:
bool containsApple = fruits.Contains("apple"); // true
bool containsApple = fruits.Contains("apple"); // true
Dim containsApple As Boolean = fruits.Contains("apple") ' true
要素が最初に出現するインデックスを見つけるには、IndexOf
メソッドを使用します。
int appleIndex = fruits.IndexOf("apple"); // 0
int appleIndex = fruits.IndexOf("apple"); // 0
Dim appleIndex As Integer = fruits.IndexOf("apple") ' 0
要素が見つからない場合、IndexOf
は -1 を返します。
リスト内の要素を繰り返し処理するには、foreach
ループを使用します。foreach` ループを使用すると、配列のすべての要素にアクセスすることもできます。
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
For Each fruit As String In fruits
Console.WriteLine(fruit)
Next fruit
別の方法として、Count
プロパティを使用したforループを用いることができます。このプロパティはリスト内の要素数を返します。
for (int i = 0; i < fruits.Count; i++)
{
Console.WriteLine(fruits[i]);
}
for (int i = 0; i < fruits.Count; i++)
{
Console.WriteLine(fruits[i]);
}
For i As Integer = 0 To fruits.Count - 1
Console.WriteLine(fruits(i))
Next i
リストを昇順に並べ替えるには、Sort
メソッドを使用します。
List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 };
unsortedNumbers.Sort();
// Now, unsortedNumbers is { 1, 2, 4, 5, 8 }
List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 };
unsortedNumbers.Sort();
// Now, unsortedNumbers is { 1, 2, 4, 5, 8 }
Dim unsortedNumbers As New List(Of Integer) From {5, 2, 8, 1, 4}
unsortedNumbers.Sort()
' Now, unsortedNumbers is { 1, 2, 4, 5, 8 }
リストを降順で並べ替えるには、指定したカスタム比較述語デリゲートを使用してSort
メソッドを利用できます。
unsortedNumbers.Sort((a, b) => b.CompareTo(a));
// Now, unsortedNumbers is { 8, 5, 4, 2, 1 }
unsortedNumbers.Sort((a, b) => b.CompareTo(a));
// Now, unsortedNumbers is { 8, 5, 4, 2, 1 }
unsortedNumbers.Sort(Function(a, b) b.CompareTo(a))
' Now, unsortedNumbers is { 8, 5, 4, 2, 1 }
より複雑なソートの場合は、カスタム IComparer
クラスを実装するか、LINQを使用することができます。(言語統合クエリ (Language Integrated Query)). バイナリサーチアルゴリズムはソートされたリスト上で動作します。
LINQを使用すると、リストを含むコレクションに対して強力なクエリや変換を実行できます。 LINQを使用するには、まずクラスプログラムコードに System.Linq
名前空間を含める必要があります。
using System.Linq;
using System.Linq;
Imports System.Linq
以下はリストに対するLINQクエリの例です:
List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList();
List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList();
Dim evenNumbers As List(Of Integer) = numbers.Where(Function(x) x Mod 2 = 0).ToList()
List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();
List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();
Dim fruitNamesUpperCase As List(Of String) = fruits.Select(Function(x) x.ToUpper()).ToList()
int minValue = numbers.Min();
int maxValue = numbers.Max();
int minValue = numbers.Min();
int maxValue = numbers.Max();
Dim minValue As Integer = numbers.Min()
Dim maxValue As Integer = numbers.Max()
リストを配列に変換するには、ToArray
メソッドを使用できます:
int[] numbersArray = numbers.ToArray();
int[] numbersArray = numbers.ToArray();
Dim numbersArray() As Integer = numbers.ToArray()
このセクションでは、リストのデータをPDFファイルにエクスポートする方法をデモンストレーションします。IronPDFライブラリ. これは、レポートやデータの印刷可能なバージョンを生成したい場合に役立ちます。
まず、IronPDF NuGetパッケージをプロジェクトにダウンロードしてインストールします。
Install-Package IronPdf
次に、コードに IronPdf
名前空間を含めます:
using IronPdf;
using IronPdf;
Imports IronPdf
では、文字列のList
をHTMLテーブルに変換し、それをPDFファイルにエクスポートする単純な関数を作成しましょう:
using System.Collections.Generic;
using IronPdf;
using System.Text;
void ExportListToPdf(List<string> data, string pdfFilePath)
{
// Create an HTML table from the list data
StringBuilder htmlBuilder = new StringBuilder();
htmlBuilder.Append("<table><tr><th>Item</th></tr>");
foreach (string item in data)
{
htmlBuilder.Append($"<tr><td>{item}</td></tr>");
}
htmlBuilder.Append("</table>");
// Convert the HTML table to a PDF using IronPDF specified object
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
// Save the PDF to the specified file path
pdf.SaveAs(pdfFilePath);
}
using System.Collections.Generic;
using IronPdf;
using System.Text;
void ExportListToPdf(List<string> data, string pdfFilePath)
{
// Create an HTML table from the list data
StringBuilder htmlBuilder = new StringBuilder();
htmlBuilder.Append("<table><tr><th>Item</th></tr>");
foreach (string item in data)
{
htmlBuilder.Append($"<tr><td>{item}</td></tr>");
}
htmlBuilder.Append("</table>");
// Convert the HTML table to a PDF using IronPDF specified object
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
// Save the PDF to the specified file path
pdf.SaveAs(pdfFilePath);
}
Imports System.Collections.Generic
Imports IronPdf
Imports System.Text
Private Sub ExportListToPdf(ByVal data As List(Of String), ByVal pdfFilePath As String)
' Create an HTML table from the list data
Dim htmlBuilder As New StringBuilder()
htmlBuilder.Append("<table><tr><th>Item</th></tr>")
For Each item As String In data
htmlBuilder.Append($"<tr><td>{item}</td></tr>")
Next item
htmlBuilder.Append("</table>")
' Convert the HTML table to a PDF using IronPDF specified object
Dim renderer = New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())
' Save the PDF to the specified file path
pdf.SaveAs(pdfFilePath)
End Sub
上記の例でこの関数を使うには、リストと必要なPDFファイルのパスを指定して呼び出すだけです:
List<string> fruits = new List<string> { "apple", "banana", "cherry" };
ExportListToPdf(fruits, "Fruits.pdf");
List<string> fruits = new List<string> { "apple", "banana", "cherry" };
ExportListToPdf(fruits, "Fruits.pdf");
Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}
ExportListToPdf(fruits, "Fruits.pdf")
これにより、デフォルトの容量の果物リストを含む表が「Fruits.pdf」という名前のPDFファイルとして生成されます。IronPDFでHTMLをPDFに変換する以下の条件に一致します。 ExportListToPdf
関数を目的に合わせて変更できます。例えば、HTMLテーブルにカスタムスタイリングを追加したり、PDFに追加コンテンツを含めたりすることができます。
この初心者向けのチュートリアルでは、C#リストの基本的な使い方を説明し、IronPDFを統合してリストデータをPDFファイルにエクスポートする方法を紹介しました。IronPDFをプロジェクトに組み込むことで、C#プロジェクトからレポートや請求書などの印刷可能なドキュメントを簡単に生成することができます。
IronPDFは無料試用購入を決定する前に、その機能をテストできるようにします。 試用期間終了後もIronPDFの使用を継続する場合、ライセンスは$749から始まり、ニーズに合わせた複数のライセンスオプションが用意されています。
9つの .NET API製品 オフィス文書用