.NET ヘルプ

C# ArrayList(開発者向けの動作方法)

チペゴ
チペゴ・カリンダ
2024年3月6日
共有:

ArrayList**クラスは、.NET Frameworkのcollections名前空間の一部で、オブジェクトのコレクションを格納するように設計されています。 これは非ジェネリックコレクションであり、任意のデータ型のアイテムを保持できます。 この機能により非常に柔軟になりますが、ジェネリックコレクションと比較すると型の安全性は低くなります。 についてArrayList重複する要素を含むことができ、有効な値が追加または削除されると動的にリサイズされます。 この記事では、ArrayListの基本とIronPDFライブラリーの特徴.

ArrayListの基本

ArrayList は本質的に非ジェネリックなコレクションであり、任意のデータ型の多数の要素を格納することができるため、さまざまなプログラミングシナリオにおいて柔軟な選択肢となります。 要素を自由に追加したり、固定サイズの制約なしにアイテムを削除したりできる能力は、その主要な特徴の一つです。 ArrayListは、新しい要素を収容するために自動的にサイズを調整します。これは、IListインターフェイスの実装によって可能になった機能です。 この動的リサイズは、ライフタイム中に要素の数が変動するコレクションを必要とするアプリケーションにとって非常に重要です。

ArrayListをインスタンス化すると、整数や文字列から複雑なカスタムオブジェクトまで、あらゆるオブジェクト値を保持できるコレクションが作成されます。 要素をArrayListに追加することは、コレクションの末尾にオブジェクト値を追加するAddメソッドや、指定したインデックスに新しいアイテムを挿入し、必要に応じて既存の要素をシフトして場所を確保するInsertメソッドのおかげで、簡単です。 この柔軟性により、開発者はアプリケーションの進化に合わせてコレクションをより効果的に管理することが可能になります。

要素を扱う

ArrayList に要素を追加するのは簡単で直感的です。例えば、さまざまな種類のデータを収集するシナリオを考えてみましょう。 Addメソッドを使用すると、文字列や整数、さらには他のコレクションまで、任意のオブジェクトをArrayListに追加することができます。 ArrayListの容量は必要に応じて自動的に増加し、新しいオブジェクトの要素objのためのスペースが常に確保されるようになっています。 この自動リサイズは、従来の配列に対する大きな利点です。従来の配列では、手動でリサイズするか、新しい配列を作成して要素数を増やす必要があります。

ArrayListは、特定の位置やintインデックスで要素を挿入および削除するためのメソッドも提供します。 Insertメソッドは、指定された位置に要素を追加することができるため、任意のインデックスに新しいアイテムを正確に配置することが可能になります。 同様に、Remove および RemoveAt メソッドは、削除されるオブジェクトまたはコレクション内でのそのインデックスを指定することにより、アイテムの削除を容易にします。 このArrayList内の要素に対する詳細な制御は、動的データを管理するための強力なツールとなります。

要素の作成と追加

ArrayListを使用開始するには、まずそのインスタンスを作成する必要があります。 次に、Add メソッドを使用して ArrayList に要素を追加できます。このメソッドはオブジェクトを ArrayList の末尾に挿入します。

class Program
{
// public static void main
    public static void Main()
    {
        ArrayList myArrayList = new ArrayList();
        myArrayList.Add("Hello");
        myArrayList.Add(100);
        var item = "World";
        myArrayList.Add(item);
        foreach (var obj in myArrayList)
        {
            Console.WriteLine(obj);
        }
    }
}
class Program
{
// public static void main
    public static void Main()
    {
        ArrayList myArrayList = new ArrayList();
        myArrayList.Add("Hello");
        myArrayList.Add(100);
        var item = "World";
        myArrayList.Add(item);
        foreach (var obj in myArrayList)
        {
            Console.WriteLine(obj);
        }
    }
}

C# ArrayList (C# アレイリスト)(開発者向けの使用方法): 図1 - ArrayListの作成と出力

この例では、新しいArrayListを作成し、さまざまな種類の要素を追加する方法を示します。 foreach ループは、その後、ArrayList を反復処理して、各要素を出力します。

要素の挿入

指定されたインデックスに要素を挿入するには、Insertメソッドを使用します。このインデックスシステムは0から始まることに注意してください。

myArrayList.Insert(1, "Inserted Item");
myArrayList.Insert(1, "Inserted Item");

要素の削除

要素を削除するには、Remove メソッドと RemoveAt メソッドが役立ちます。 Remove は特定のオブジェクトの最初の出現を削除し、RemoveAt は指定された整数のインデックスにある要素を削除します。

myArrayList.Remove("Hello"); // Removes the first occurrence of "Hello"
myArrayList.RemoveAt(0); // Removes the element at index 0
myArrayList.Remove("Hello"); // Removes the first occurrence of "Hello"
myArrayList.RemoveAt(0); // Removes the element at index 0

例:ArrayListの管理

C#でArrayListを使用する高度な例を作成するには、要素の追加や削除といった基本的な操作だけでなく、ソート、検索、他のデータ構造への変換といったより複雑な操作も示す必要があります。 以下の例をProgram.csファイルに入れて実行してください。

using System;
using System.Collections;
using System.Linq;
class AdvancedArrayListExample
{
    static void Main(string [] args)
    {
        // Initialize an ArrayList with some elements
        ArrayList numbers = new ArrayList() { 5, 8, 1, 3, 2 };
        // Adding elements
        numbers.Add(6); // Add an element to the end
        numbers.AddRange(new int [] { 7, 9, 0 }); // Add multiple elements from a specified collection.
        Console.WriteLine("Initial ArrayList:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");
        // Removing elements
        numbers.Remove(1); // Remove the element 1
        numbers.RemoveAt(0); // Remove the first element
        Console.WriteLine("After Removal:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");
        // Sorting
        numbers.Sort(); // Sort the ArrayList
        Console.WriteLine("Sorted ArrayList:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");
        // Searching
        int searchFor = 5;
        int index = numbers.IndexOf(searchFor); // Find the index of the element
        if (index != -1)
        {
            Console.WriteLine($"Element {searchFor} found at index {index}");
        }
        else
        {
            Console.WriteLine($"Element {searchFor} not found.");
        }
        Console.WriteLine("\n");
        // Converting ArrayList to Array
        int [] numbersArray = (int [])numbers.ToArray(typeof(int));
        Console.WriteLine("Converted Array:");
        foreach (int number in numbersArray)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");
        // Demonstrate LINQ with ArrayList (Requires System.Linq)
        var evenNumbers = numbers.Cast<int>().Where(n => n % 2 == 0).ToList(); // Assign values to evenNumbers from the filtered results.
        Console.WriteLine("Even Numbers:");
        evenNumbers.ForEach(n => Console.Write(n + " "));
        Console.WriteLine();
    }
}
using System;
using System.Collections;
using System.Linq;
class AdvancedArrayListExample
{
    static void Main(string [] args)
    {
        // Initialize an ArrayList with some elements
        ArrayList numbers = new ArrayList() { 5, 8, 1, 3, 2 };
        // Adding elements
        numbers.Add(6); // Add an element to the end
        numbers.AddRange(new int [] { 7, 9, 0 }); // Add multiple elements from a specified collection.
        Console.WriteLine("Initial ArrayList:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");
        // Removing elements
        numbers.Remove(1); // Remove the element 1
        numbers.RemoveAt(0); // Remove the first element
        Console.WriteLine("After Removal:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");
        // Sorting
        numbers.Sort(); // Sort the ArrayList
        Console.WriteLine("Sorted ArrayList:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");
        // Searching
        int searchFor = 5;
        int index = numbers.IndexOf(searchFor); // Find the index of the element
        if (index != -1)
        {
            Console.WriteLine($"Element {searchFor} found at index {index}");
        }
        else
        {
            Console.WriteLine($"Element {searchFor} not found.");
        }
        Console.WriteLine("\n");
        // Converting ArrayList to Array
        int [] numbersArray = (int [])numbers.ToArray(typeof(int));
        Console.WriteLine("Converted Array:");
        foreach (int number in numbersArray)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");
        // Demonstrate LINQ with ArrayList (Requires System.Linq)
        var evenNumbers = numbers.Cast<int>().Where(n => n % 2 == 0).ToList(); // Assign values to evenNumbers from the filtered results.
        Console.WriteLine("Even Numbers:");
        evenNumbers.ForEach(n => Console.Write(n + " "));
        Console.WriteLine();
    }
}

このコードスニペットは以下の方法を示します:

  • 一連の要素を含む ArrayList を初期化する。
  • ArrayListに単一および複数の要素を追加します。
  • 値とインデックスで要素を削除。
  • ArrayListの要素を並び替えて順序を整えます。
  • 要素を検索し、そのインデックスを見つけます。
  • ArrayListを標準の配列に変換します。
  • ArrayListを使用してLINQで偶数をフィルタリングし、非ジェネリックなコレクションをLINQの強力なクエリ機能と橋渡しする方法を紹介します。

    C# ArrayList(開発者向けのしくみ):図2 - ArrayList出力

IronPDFの紹介:C# PDFライブラリ

C# ArrayList(開発者向けの動作方法):図3 - IronPDF

IronPDFはC#用の強力なライブラリで、複雑なPDF生成プロセスを簡素化し、PDF操作のための幅広い機能を提供します。HTMLからPDFを生成するテキストや画像の追加、文書のセキュリティ保護など、多くの機能を提供します。

ArrayListとの統合におけるIronPDF

簡単なC#プログラムを書いて、アイテムのArrayListを作成し、その後IronPDFを使用してこれらのアイテムを一覧表示するPDFドキュメントを生成しましょう。

using IronPdf;
using System;
using System.Collections;
class pdfocde
{
    static void Main(string [] args)
    {
        IronPdf.License.LicenseKey = "License";
        // Create a new ArrayList and add some items
        ArrayList itemList = new ArrayList();
        itemList.Add("Apple");
        itemList.Add("Banana");
        itemList.Add("Cherry");
        itemList.Add("Date");
        // Initialize a new PDF document
        var Renderer = new ChromePdfRenderer();
        // Create an HTML string to hold our content
        string htmlContent = "<h1>Items List</h1><ul>";
        // Iterate over each item in the ArrayList and add it to the HTML string
        foreach (var item in itemList)
        {
            htmlContent += $"<li>{item}</li>";
        }
        htmlContent += "</ul>";
        // Convert the HTML string to a PDF document
        var PDF = Renderer.RenderHtmlAsPdf(htmlContent);
        // Save the PDF to a file
        PDF.SaveAs("e:\\ItemList.pdf");
        Console.WriteLine("PDF file 'ItemList.pdf' has been generated.");
    }
}
using IronPdf;
using System;
using System.Collections;
class pdfocde
{
    static void Main(string [] args)
    {
        IronPdf.License.LicenseKey = "License";
        // Create a new ArrayList and add some items
        ArrayList itemList = new ArrayList();
        itemList.Add("Apple");
        itemList.Add("Banana");
        itemList.Add("Cherry");
        itemList.Add("Date");
        // Initialize a new PDF document
        var Renderer = new ChromePdfRenderer();
        // Create an HTML string to hold our content
        string htmlContent = "<h1>Items List</h1><ul>";
        // Iterate over each item in the ArrayList and add it to the HTML string
        foreach (var item in itemList)
        {
            htmlContent += $"<li>{item}</li>";
        }
        htmlContent += "</ul>";
        // Convert the HTML string to a PDF document
        var PDF = Renderer.RenderHtmlAsPdf(htmlContent);
        // Save the PDF to a file
        PDF.SaveAs("e:\\ItemList.pdf");
        Console.WriteLine("PDF file 'ItemList.pdf' has been generated.");
    }
}

この例では、最初にitemListという名前のArrayListを作成し、いくつかの文字列アイテムでそれを埋めます。 次に、IronPDFのChromePdfRendererクラスの新しいインスタンスを初期化します。これを使用して、HTMLコンテンツをPDFドキュメントに変換します。

出力

こちらがIronPDFによって生成された出力PDFです。

![以下の内容を日本語に翻訳してください:

C# ArrayList(開発者向けの動作説明):図 4 - PDF出力](/static-assets/pdf/blog/csharp-arraylist/csharp-arraylist-4.webp)

結論

C# ArrayList(開発者向けの動作方法):図5 - ライセンス

ArrayList は、オブジェクトのリストを格納するために C# が提供する強力なコレクションです。 その動的にサイズを調整する能力や、任意の型の要素を保存できることによって、幅広いアプリケーションに対して汎用性があります。 しかし、型の安全性とより良いパフォーマンスのためには、ジェネリックコレクションが推奨されます。 ArrayListとそのメソッドを試してみることで、その使い方やアプリケーションへの適用方法が理解できるようになります。

さらに、C#の能力をPDF操作に拡張したいと考えている方々のために、IronPDFは.NETのPDF関数の無料トライアルその機能を探索するために。 ライセンスは$Lite Licenseから始まり、.NETアプリケーションにPDF機能を統合するための包括的なソリューションを提供します。

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
Math.Round C#(開発者向けの利用方法)
次へ >
C#リンター(開発者のための動作方法)